Semester.ly

Johns Hopkins University | EN.600.120

Intermediate Programming

4.0

credits

Average Course Rating

(4.03)

This course teaches intermediate to advanced programming, using C and C++. (Prior knowledge of these languages is not expected.) We will cover low-level programming techniques, as well as object-oriented class design, and the use of class libraries. Specific topics include pointers, dynamic memory allocation, polymorphism, overloading, inheritance, templates, collections, exceptions, and others as time permits. Students are expected to learn syntax and some language specific features independently. Course work involves significant programming projects in both languages. Recommended Course Background: AP CS, EN.600.107, EN.600.111, EN.600.112 or equivalent.

Fall 2012

(4.35)

Fall 2014

(3.97)

Fall 2014

(3.81)

Fall 2014

(3.52)

Fall 2014

(4.3)

Spring 2013

(3.74)

Spring 2014

(4.0)

Spring 2014

(4.45)

Spring 2015

(3.94)

Spring 2015

(4.25)

Spring 2015

(4.04)

Fall 2012

Professor: Peter Froehlich

(4.35)

Students noted that they learned a lot about C and C++, which are very useful to know. The downsides of the course were long and difficult assignments, as well as the very quick pace. Students suggested slowing down the pace of the course to cover less material in more depth. Some also suggested having more coding practice in class. Students should expect a very high workload and time commitment for a 100-level course. The course will be very difficult if you don’t have programming experience, but it is highly valuable for CS majors or those interested in programming.

Fall 2014

Professor: Joanne Selinski

(3.97)

Students found that this course provided a solid introduction to programming in C/C++. They also believed that homework assignments for the course were both interesting and chal enging, although they also thought that the course’s greatest drawback was the length of time required to complete assignments. Students felt that the course could be improved with better guidance for assignments as wel as feedback. Students emphasized that people considering taking this class should know that it requires a substantial amount of work time outside of class to complete assignments.

Fall 2014

Professor: Joanne Selinski, Adam Teichert

(3.81)

Students taking this course thought that the course provided a useful introduction to C/C+. They also thought that the instructors did a good job of making the course both fun and chal enging. Students believed the biggest weakness of this class were the lengthy homework assignments. They felt the course could have been improved by having more structured and focused lectures. Students also thought it was important for others who may be considering taking this class to know that the course requires a substantial time commitment. 93

Fall 2014

Professor: Scott Smith

(3.52)

Students thought that this course provided a comprehensive and chal enging introduction to programming in C/C++. They believed that the course’s greatest drawback was that lectures did not always seem sufficient in explaining concept needed to complete homework assignments. Students also thought the course could be improved by making lectures more interactive or activity-oriented. They felt that people considering taking this class should know that it requires a large time commitment outside of classes.

Fall 2014

Professor: Joanne Selinski

(4.3)

Students appreciated that this course was able to cover a large amount of material in an understandable way in a single semester. Students thought the course’s greatest weakness was that the course seemed to have an unbalanced amount of detailed instruction and work over the course of the semester. They also thought it was valuable for prospective participants to know that this course could be very challenging with little or no previous programming experience.

Spring 2013

Professor: Peter Froehlich

(3.74)

The best aspects of this course included the applicable coding projects assigned, the chal enging homework assignments, the opportunity to work with C and C++, and the material that was relevant to what one should know in this phase of learning computer coding. Some students felt the instructor was disorganized. One suggestion included clarifying deadlines and expectations on homework assignments. Another suggestion included shortening the homework assignments. Prospective students should know this class requires a lot of independent work and they should feel comfortable at this stage of programming.

Spring 2014

Professor: Yair Amir, Robert Dipiertro

(4.0)

This course was a crash course of C and C++ and in the short span of 13 weeks, many students saw their skills improve. The course was challenging and filled with material, but students really learned from it and they were forced to think at a higher level. The TAs were extremely instrumental in students’ progress and also guided them along with their glitches and developing their programs. As mentioned before, the course was very difficult and the specificity in design documents was annoying. The course was also time consuming and geared at a very fast pace. It was suggested by students that more time be al otted to every aspect of this course, that there be a decrease in enrol ment and that there be better guidelines for assignments.

Spring 2014

Professor: Yair Amir

(4.45)

Many students enrol ed in this course agreed that they learned and improved upon their work in programming language, specifically in C and C++. The instructor made sure that he gave students tons of sample codes to start out with and the TAs were extremely helpful. Many students walked away with more confidence in programming. But the material was difficult to comprehend at times and the work load was very heavy. In addition, program instructions were often vague. Suggestions for improvement include: consistent feedback, more small assignments, and more clarity for assignments and projects. Prospective students should expect a lot of work but also wil improve dramatical y.

Spring 2015

Professor: Joanne Selinski

(3.94)

The best aspects of the course included the hands-on, application-based approach to learning C and C++, as well as the level of skill acquired by the end of the class. While the practice was useful for learning, many students claimed that the homework assignments were extremely time consuming, and occasionally required skil s that had not yet been taught. Thus, many suggested either shortening the assignments, allowing more time for their completion, or spending some time in class discussing them. Prospective students can expect to spend 10-20 hours each week working on assignments, and may benefit from having some prior coding experience.

Spring 2015

Professor: Adam Teichert

(4.25)

The best aspects of the course included the learn-by-doing introduction to C and C++ programming and the passionate, effective professor. Students appreciated the professor’s practice of writing and explaining code in real-time, as well as his detailed feedback on assignments. Many students, however, felt that the assignments were excessively long, and that they were given before being taught the material in lecture. Thus, students suggested that the assignments be shortened or restructured, and that more details about the assignments be provided. Prospective students will develop a solid foundation in C and C++ coding and should be prepared for a heavy workload.

Spring 2015

Professor: Benjamin Mitchel

(4.04)

The best aspects of the course included the broad and substantial introduction to C and C++ programming and the multiple resources available to students to learn the material. Many students felt that the homework assignments required an excessive amount of time, and that the grading was exceptional y strict. Further, some students suggested that there was a great disparity between the topics covered in class and the expectations for homework assignments. Thus, students suggested that shorter and clearer assignments would have made the work more manageable and productive. Prospective students should be prepared for a large time commitment and will leave the course with a strong background in C and C++.