Effective programming in c and c++
Bachelor's degree
In Maynard (USA)
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
Start date
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++