Effective programming in c and c++

Bachelor's degree

In Maynard (USA)

Price on request

Description

  • Type

    Bachelor's degree

  • Location

    Maynard (USA)

  • Start date

    Different dates available

This course is a fast-paced introduction to the C and C++ programming languages, with an emphasis on good programming practices and how to be an effective programmer in these languages. Topics include object-oriented programming, memory management, advantages of C and C++, optimization, and others. Students are given weekly coding assignments and a final project to hone their skills. Recommended for programmers with some background and experience in other languages.

Facilities

Location

Start date

Maynard (USA)
See map
02139

Start date

Different dates availableEnrolment now open

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • Oriented Programming
  • Object oriented Programming
  • Programming
  • Project
  • Object-oriented training
  • C programming
  • Object oriented training

Course programme

Lectures: 3 sessions / week; 2 hrs / session


Open Labs: 1 session / week; 2 hrs / session


Do you want to learn how create blazing fast programs, be organized about developing a software project, write C/C++ code that will keep the people who maintain it very happy, learn how to ace an interview in either of these languages since you'll know them so well, and understand how to properly debug your code when you inevitably run into problems? Then this might be the crash course for you.


This course is a fast-paced introduction to the C and C++ programming languages, both of which are useful for classes, research, and jobs. Focus will be placed on practical knowledge, especially best practices, the powerful advantages C/C++ can offer, and modern features of C++. Students will come away with an understanding of when and why you might want to use C/C++ over another language, how both "low-level" and more abstracted programming can help you, and how to best develop your own software projects in these languages. This course assumes no C/C++ knowledge, but is intended for programmers with some background and experience in other languages.


Because this course is offered during IAP , lectures are given on Mondays, Wednesdays, and Fridays. There are open lab hours offered on Wednesday evenings for those who seek assistance, though attendance during this time is not required.


What is this course?


An introduction to the languages of C and C++, and topics you need to know in order to be an effective programmer in them. These include the syntax, compilers, debugging, working on C/C++ projects, object-oriented programming in C++, the power of generic programming, writing a compiled library, memory management, modern best practices, and other powerful tools available (such as threading / parallelism, new features of C++11, and optimization techniques).


What is this course not?


This course is not an introductory programming class. You should have at least one other language such as Python, Java, Scheme, C#, Ruby, or JavaScript well under your belt already. Some experience in working with the Linux command line (as you would find on Athena) is certainly useful, but not necessary; we will cover the important parts about using the tools and setting up your own development environment in the first class.


The following scenarios may also be helpful:


This course is offered on a pass/fail grading system. In order to pass, students must obtain at least 50% of the available coding assignment points, and must submit both code reviews.


Each of the three coding assignments is given at the end of the first three weeks, followed by the release of the problem statement for the last assignment (final project). Students will be asked to complete two reviews of code that is written by peer students.


For more information on the coding assignments and the requirements of the code reviews, refer to the Assignments.


Don't show me this again


This is one of over 2,200 courses on OCW. Find materials for this course in the pages linked along the left.


MIT OpenCourseWare is a free & open publication of material from thousands of MIT courses, covering the entire MIT curriculum.


No enrollment or registration. Freely browse and use OCW materials at your own pace. There's no signup, and no start or end dates.


Knowledge is your reward. Use OCW to guide your own life-long learning, or to teach others. We don't offer credit or certification for using OCW.


Made for sharing. Download files for later. Send to friends and colleagues. Modify, remix, and reuse (just remember to cite OCW as the source.)


Learn more at Get Started with MIT OpenCourseWare


Effective programming in c and c++

Price on request