Course Syllabus CS3520 Spring 2022 1 PDF
Course Syllabus CS3520 Spring 2022 1 PDF
Spring 2022
Course Syllabus
Important Dates
• Semester starts: Tuesday, January 18th
• Last Day to Drop class without W grade: Monday, February 7th
• Spring Break: Monday, March 14th – Sunday, March 20th
• Semester ends: Wednesday, April 27th
• Last Day to Drop class with W grade: Thursday, April 28th
• Final Exams Week: Friday, April 29th – Friday, May 6th
Late Policy
No late submissions will be allowed for practice exercises and final project/exam. Weekly
Assignments may be submitted late without permission for up to a maximum of 24 hours after
the deadline but will incur a late penalty of 15% deduction. Any course module submitted after
the original deadline (and assignments submitted after 1 day of the original deadline) will not
receive any credit. No work will be accepted after the last day of the final exam week.
Makeup Work
Students will be allowed only TWO makeup opportunities for weekly assignments during the
semester (detailed will be posted on Canvas). No makeup for practice activities, or final project
/ exam will be allowed in the class. If you have a reasonable cause for absence (i.e., as listed on
NU’s attendance policy page), please contact the instructor immediately for appropriate
accommodation.
WARNING: The Source Code submitted must be your own and must not be taken from any other
resource (including online forums or solution manuals) and must not be shared with others.
Barely changing the variable and function names in someone’s code is not sufficient and will be
considered plagiarism.
Disclaimer: The instructor reserves the right to make any changes to the syllabus any time during the term.
Class Schedule and Weekly outline: (Last updated on 4/14/2022)
Activities / Reading
2022 Topics
Assignments Assignment
1 Introductions, Class Policies
PA1 (Due: 1/21) Ch. 1 & Linux
Week of Basic Linux Commands, Using Makefile; Using GitHub
HW0 (Due: 1/24) Guide
1/17 Hello World! Program
Basics of C++ (variables & data types and operations,
2
Using libraries like string and cmath) PA2 (Due: 1/27) Ch. 2, 3, 4, 6 &
Week of
Using conditional statements and loops HW1 (Due: 2/2) Number Systems
1/24
Number systems and bit-wise operations
Number systems and bit-wise operations
3
Basic debugging PA3 (Due: 2/12)
Week of Ch. 4, 5, 6, 17
Working with iostream, file stream, string stream HW2 (Due: 2/9)
1/31
Introduction to pointers
4 Built-in arrays, array and vector classes, c-string
Week of Functions, Overloading HW3 (Due: 2/17) Ch. 6, 7, 12, 13
2/7 Code Organization, using Namespaces
5 Pointers, Multi-dimensional Arrays and Double Pointers
PA4 (Due: 2/15)
Week of C-Strings Ch. 12, 17
HW4 (Due: 2/24)
2/14 String Manipulation Libraries
6 Dynamic memory allocation
PA5 (Due: 2/27)
Week of Structures with pointer, enumerations, Unions, bit-fields Ch. 9, 12, 17
HW5 (Due: 3/4)
2/21 More on iterators and c-strings
7
Debugging (gnu debugger, ddd and valgrind) PA6 (Due: 3/3)
Week of Ch. 8, 10, 11
Standard Template Library HW6 (Due: 3/11)
2/28
8 Standard Template Library (containers, iterators and
PA7 (Due: 3/23)
Week of algorithms), Lamda expressions Ch. 10, 11, 13
HW7 (Due: 3/24)
3/7 Exceptions
X
Week of Spring Break
3/14
9
Classes and object-oriented design PA8 (Due: 3/28)
Week of Ch. 14, 15
Operator overloading and inheritance HW8 (Due: 4/1)
3/21
10
Inheritance and polymorphism, vPointers and vTables PA9 (Due: 4/4)
Week of Ch. 15, 16, 17
More object-oriented design HW9 (Due: 4/8)
3/28
11
Special members (rule of 3 and rule of 5) Makeup Week 1
Week of Ch. 17
Smart pointers (Due: 4/15)
4/4
12
Generic Programming using Templates PA10 (Due: 4/14)
Week of Ch. 18, 19
Lvalue and Rvalue References and Perfect Forwarding HW10 (Due: 4/22)
4/11
13 PA11 (Due: 4/19)
Miscellaneous Topics (Multi-threading in C++, Test
Week of Makeup Week 2
Driver Development, Code Coverage)
4/18 (Due: 4/27)
14
Project Work Session
Week of PA12 (Due: 5/4)
(Last Class on Tuesday, Semester ends of 4/27)
4/25
15
Final Project
Week of Final Exam Week
(Due: 5/4)
5/2
Other University Policies
Title IX
Northeastern’s Title IX Policy prohibits Prohibited Offenses, which are defined as sexual
harassment, sexual assault, relationship or domestic violence, and stalking. The Title IX Policy
applies to the entire community, including male, female, transgender students, faculty and staff.
If you or someone you know has been a survivor of a Prohibited Offense, confidential support
and guidance can be found through University Health and Counseling Services staff
(http://www.northeastern.edu/uhcs/) and the Center for Spiritual Dialogue and Service clergy
members (http://www.northeastern.edu/spirituallife/). By law, those employees are not required
to report allegations of sex or gender-based discrimination to the University.
Alleged violations can be reported non-confidentially to the Title IX Coordinator within The
Office for Gender Equity and Compliance at: [email protected] and/or through NUPD
(Emergency 617.373.3333; Non-Emergency 617.373.2121). Reporting Prohibited Offenses to
NUPD does NOT commit the victim/affected party to future legal action.
Special Accommodations
Students who have disabilities and wish to receive academic services and/or accommodations
should visit the Disability Resource Center at 20 Dodge Hall or call (617) 373-2675. If you have
already done so, please provide your letter from the DRC to the Instructor early in the semester
so that they can arrange those accommodations. Students MUST coordinate with me at least a
week before exam if they are requesting additional time or special room.