"Programming in C++, one pixel at a time" -- Your Instructor -- Your Instructor
General Purpose, Multi-paradigm
, and fun language
|Week ||Date ||Lecture and Readings||Assignments||Note(s)|
|1||Monday - May 10, 2021|| ||A1 Released -- Guessing Game (Due May 14 Anywhere on Earth)||Welcome back to class!|
|1||Tuesday - May 11, 2021|| |
|1||Wednesday - May 12, 2021|| |
|1||Thursday - May 13, 2021|| ||A2 Released -- Debugger (Due May 20 Anywhere on Earth)|
|2||Monday - May 17, 2021|| ||A3 Released -- JPEG to ASCII|
|2||Tuesday - May 18, 2021|
|2||Wednesday - May 19, 2021|
|2||Thursday - May 20, 2021||A4 Released -- Image Processing|
|3||Monday - May 24, 2021||A5 Released -- Doom Fire|
|3||Tuesday - May 25, 2021|
|3||Wednesday - May 26, 2021|
|3||Thursday - May 27, 2021||A6 Released -- Falling Sands|
|4||Monday - May 31, 2021||A7 Released -- Falling Sands Quad Tree||Enjoy the day! (No class today)|
|4||Tuesday - June 01, 2021|
|4||Wednesday - June 02, 2021|
|4||Thursday - June 03, 2021||A8 Released -- Color Cycling or Animation|
|5||Monday - June 07, 2021|
|5||Tuesday - June 08, 2021||A9 Released -- Splines|
|5||Wednesday - June 09, 2021|
|5||Thursday - June 10, 2021||A10 Released -- Mesh Warping|
|6||Monday - June 14, 2021|
|6||Tuesday - June 15, 2021||A11 Released -- Perlin Noise|
|6||Wednesday - June 16, 2021|
|6||Thursday - June 17, 2021||A12 Released -- Compression|
|7||Monday - June 21, 2021|
|7||Tuesday - June 22, 2021|
|7||Wednesday - June 23, 2021|
|7||Thursday - June 24, 2021||Last day of class :(|
This course is going to teach you how C++ programmers use the C++ language to build software. We are not just going to show the syntax of the language, but solve problems as a C++ programmer would solve the problem using the constructs, tools, and philosophy of the language.
Registrar Description:Examines how to program in C++ in a robust and safe manner. Reviews basics, including scoping, typing, and primitive data structures. Discusses data types (primitive, array, structure, class, string); addressing/parameter mechanisms (value, pointer, reference); stacks; queues; linked lists; binary trees; hash tables; and the design of classes and class inheritance, emphasizing single inheritance. Considers the instantiation of objects, the trade-offs of stack vs. heap allocation, and the design of constructors and destructors. Emphasizes the need for a strategy for dynamic memory management. Addresses function and operator overloading; templates, the Standard Template Library (STL), and the STL components (containers, generic algorithms, iterators, adaptors, allocators, function objects); streams; exception handling; and system calls for processes and threads.
By the end of this course, you will:
There will be no required textbook to purchase for this course. However, these resources have been vetted, and I recommend for mastery (while taking this course, and reviewing later on in your career).
Students and instructors are to follow the Northeastern policies on these important issues.
Students participating in varsity athletics(this does not include club sports or intramurals) or other University sanctioned events may have the need for a make-up. Please contact me in advance of such events, so that appropriate accommodations can be made.
This semester we will be using a "tokens" system such that you can extend an assignment or lab (but not final project) by up to three days total. Simply move the token file to the assignment or lab directory in your github repo and it will be automatically applied. Further directions are in the repository
E-mailing me asking for extensions just because is unfortunately not fair to your classmates, thus in this course, we have the token system which allows you up to extend your assignment by up to 3 days throughout the semester (or otherwise to split 3 tokens for multiple assignments) to complete your work and stay on track. Assignment submissions that are otherwise submitted late without using a token receive a 10% penalty per day.
Occasionally, other life events and circumstances occur that were not planned. If this is the case, please e-mail me privately.
Part of what makes Northeastern University unique, is our diverse cohort of students, faculty, and staff. In order to support this, Northeastern is committed to providing equal access and support to all qualified students through the provision of reasonable accommodations so that each student may fully participate in the University experience.
Students who do well in this course tend to show up to the course consistently, participate, start coursework the day it is assigned, and engage with their peers. Come to class, come on time, and build good habits! In-Class activities that are not completed during attendance are a zero.
While university can be difficult at times, please do take care of yourself. It is okay to seek help and take a break. Please communicate with your instructor, advisor, and officials at the university if you just need a mental break.
Northeastern Univerity provides resources for student healthcare and general wellness:
I personally remember how difficult university can be juggling myself multiple jobs, multiple clubs, and trying to learn. Do take your wellness seriously!
Please find below the grading distribution that will be used for this course to compute a weighted average for your final grade. You will find grades you earn through the semester on Canvas and your final grade in banner.