Syllabus - Effective Programming in C and C++ - Electrical Engineering and Computer Science - MIT OpenCourseWare
Syllabus - Effective Programming in C and C++ - Electrical Engineering and Computer Science - MIT OpenCourseWare
Help | Contact Us
FIND COURSES For Educators Give Now About Search Search Tips
Home
»
Courses
»
Electrical Engineering and Computer Science
»
Effective Programming in C and C++
»
Syllabus
Syllabus
COURSE HOME Course Meeting Times
Course Description
CALENDAR
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
GETTING STARTED 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
LECTURE NOTES 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.
ASSIGNMENTS 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.
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.
I've just taken 6.01 Introduction to Electrical Engineering and Computer Science I or 1.00 Introduction to Computers and Engineering Problem
Solving. Yes, take the course!
I've taken 6.004 Computation Structures and 6.005 Elements of Software Construction, and I've been programming in Java for a while. Yes,
take the course! The more programming experience you start with, the more you are likely to take away.
I've only done web programming and I want to learn something new. It depends on the sort of web programming you've done.
I've never taken a Course 6 subject or completed equivalent programming coursework before. Probably not advisable.
I've been doing high school programming competitions for years and working in C/C++, but haven't really used the object-oriented features of
C++ or worked on large programming projects. Maybe. In fact, probably yes, take the course. About 50% of the course will involve
features you most likely haven't been using much, and programming competitions don't always encourage the best coding practices
(which this course will help you to correct).
I'm working in a lab doing research in a computational science. I'd like to find out how to improve our legacy software. Yes, this is a course for
you.
I've worked on several large C++ projects at companies during summer internships. Don't take the course—but you might make a good TA
for this course.
Grading
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.
ACTIVITIES PERCENTAGES
Assignment 1 20
Assignment 2 20
Assignment 3 10
Don't show me this again
Need help getting started?
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-s096-effective-programming-in-c-and-c-january-iap-2014/syllabus/ 1/2
12/20/21, 1:08 PM Syllabus | Effective Programming in C and C++ | Electrical Engineering and Computer Science | MIT OpenCourseWare
ACTIVITIES PERCENTAGES
For more information on the coding assignments and the requirements of the code reviews, refer to the Assignments.
FIND COURSES FOR EDUCATORS GIVE NOW ABOUT OUR CORPORATE SUPPORTERS
Find by Topic Chalk Radio Podcast Make a Donation About OpenCourseWare
Find by Course Number OCW Educator Portal Why Give? Site Statistics
Find by Department Instructor Insights by Our Supporters OCW Stories
New Courses Department Other Ways to Contribute Newsletter
Most Visited Courses Residential Digital Become a Corporate Open Matters Blog
OCW Scholar Courses Innovations Sponsor
Audio/Video Courses OCW Highlights for High TOOLS
Online Textbooks School Help & FAQs
Instructor Insights Additional Resources Contact Us
Supplemental Resources Accessibility
MITx & Related OCW Site Map
Courses Privacy & Terms of Use
MIT Open Learning Library RSS Feeds
Translated Courses
MIT OpenCourseWare is an online publication of materials from over 2,500 MIT courses, freely sharing knowledge with learners and educators around the world. Learn more »
© 2001–2021
Your use of the MIT OpenCourseWare site and materials is subject to our Creative Commons License and other terms of use.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-s096-effective-programming-in-c-and-c-january-iap-2014/syllabus/ 2/2