Welcome to the website for Intermediate Programming (Spring 2025) at Johns Hopkins University!
Course description: 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.
All public information about the course (assignments, exercises, etc.) will be posted on this website.
Use the links at the top of the page to navigate the site.
Important links
Github is used to facilitate team collaborations as well as group and individual source code version control. Scaffolding/starter files of exercises, homeworks, and projects are shared via the course public repository. You may never share your private repository with anyone else.
Piazza is the main communication channel. You will be automatically enrolled through your JHU Canvas account which you can link to any previous Piazza accounts you may have. If you have any questions or concerns about the course, post on Piazza. You can do either public (anonymous optional) or private posts. If others could potentially benefit from your question, please making it public. Never include your homework/project solution code in a public post.
Gradescope is used for assignment submission and handling. You make all your submissions on Gradescope through Canvas links and receive feedback on your work there. Regrade requests can be made and are processed on Gradescope as well. You must join the Gradescope course page through Canvas.
News
- April 14th — Final Project is posted.
- April 10th — Homework 7 is posted.
- April 4th — Homework 6 is posted.
- March 28th — Homework 5 is posted.
- Feb 28 — Midterm Project is posted.
- Feb 21 — Homework 4 is posted.
- Feb 14 — Homework 3 is posted.
- Feb 7 — Homework 2 is posted.
- Jan 31 — Homework 1 is posted.
- Jan 24 — Homework 0 is posted.
- Jan 21 — Welcome to Intermediate Programming! Check out Week 1 material under the “Course Material” tab.