0% found this document useful (0 votes)
60 views

Course Syllabus CS3520 Spring 2022 1 PDF

This document outlines the syllabus for a CS3520 Programming in C++ course. It provides details on class times and location, instructor contact information, textbook requirements, important dates, grading scheme, expectations for coursework and attendance, policies on late work and academic integrity, and a tentative class schedule.

Uploaded by

Param Joshi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views

Course Syllabus CS3520 Spring 2022 1 PDF

This document outlines the syllabus for a CS3520 Programming in C++ course. It provides details on class times and location, instructor contact information, textbook requirements, important dates, grading scheme, expectations for coursework and attendance, policies on late work and academic integrity, and a tentative class schedule.

Uploaded by

Param Joshi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

CS3520 – Programming in C++

Spring 2022

Course Syllabus

Class Number: 32717 (Section 1)


Term: Spring 2022 – January 18th to May 6th
Class Time: 325pm to 505pm on Tuesdays & Fridays
Location: Hurtig Hall, Room 129 (HT-129)
Instructor: Dr. Adeel A. Bhutta, Associate Teaching Professor (Khoury)
Email: [email protected]
Office Hours: Mon/Thu from 240-340pm, Tues from 2-3pm or by appointment
Office Location: Meserve Hall, Room 337 (ME-337)
Course Material Available on Canvas (http://canvas.northeastern.edu)

Course Format: Synchronous / Live (in-person on Boston Campus)


Course Description
4 Credit Hours: 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.
Pre-requisite Course(s): CS1500 or CS2510 or DS2500
Learning Objectives
Here are the main learning goals:
• Learn how to program C++ in a clear, robust, efficient, and safe manner.
• Learn about simple and complex data structures in C++.
• Learn about memory allocation & deallocation from both the C and C++ perspectives.
• Develop a strategy for memory management that will avoid leaks.
• Learn how the features of C++ may be used in a productive way.
• Learn about the pitfalls and bugs that may occur if C++ is used improperly.
• Become knowledgeable about system libraries, especially, the STL.
• Become knowledgeable using a unit testing framework.
• Become knowledgeable using a low-level debugger.
• Become knowledgeable using a memory debugger.
Required Textbook and Optional Reference Books
The following book is REQUIRED for this course:
• Murach's C++ Programming by Joel Murach and Mary Delamater, ISBN-13: 978-
1943872275, Mike Murach & Associates (September 21, 2018)
For additional reading, the following books may be used for reference:
• Understanding and Using C Pointers: Core Techniques for Memory Management by
Richard M Reese, ISBN-13: 978-1449344184
• C++ How to Program (Early Objects Version) by Paul Deitel and Harvey Deitel, 9th
edition, ISBN-13: 978-0133378719, Pearson
• Problem Solving with C++ by Walter Savitch and Kenrick Mock, 10th edition, ISBN-13:
978-0134448282, Pearson

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

Grading Scheme Grading Scale


Attendance / Participation 0% Score Letter Grade
Practice Activities (12) 10% 90–92.9, 93+ A-, A
Weekly Assignments (11) 75%
80–82.9, 83-86.9, 87-89.9 B-, B, B+
Final Project / Exam 15%
70–72.9, 73-76.9, 77-79.9 C-, C, C+
60–62.9, 63-66.9, 67-69.9 D-, D, D+
0 – 59.9 F

Course Work-Load Expectations


Federal regulations define a credit hour in the amount of work as ‘no less than one hour of class room
instruction’ and ‘a minimum of two hours out of class student work’ per week for 15-week semester. The
credit hour definition is a minimum standard and it does not restrict an institution from setting a higher
standard that requires more student work per credit hour.
For this 4-credit hour 13-week course you should be prepared to spend a minimum of 10-12 hours per
week outside of lectures. It is NOT uncommon for students to spend (on average) 10+ hours per week.

Class Attendance & Participation is Required


For this course, regular participation is extremely important and has direct correlation with your
understanding of the subject as well as the final grade. It is the responsibility of the student to
check their NU emails daily. Students are expected to check Canvas regularly especially on all
lecture days. There is no grade assigned for attendance. PLEASE DO NOT COME TO CLASS
IF YOU ARE ILL. Please inform the instructor before class and we will make the appropriate
arrangements w.r.t lectures or in-class practice exercises.

Office Hours / Email Communication with the Instructor / TAs


The schedule of office hours for the Instructor and Teaching Assistants can be found on Canvas
along with their contact information. We will hold all office hours via Zoom and the links to zoom
meeting rooms can also be found on Canvas. You may also communicate with your instructor
or teaching assistants by e-mail. Please allow 24 hours for a reply. The response time during
the weekend may be longer than 24 hours. In-Person meeting may also be scheduled on
campus by appointment only.
Weekly Assignments, Practice Activities, Final Project/Exam
Weekly Assignments, Practice Activities and Final Project/Exam are designed to provide an
opportunity to write programs and will closely follow the topics covered during lectures. Final
Exam/Project is required and failure to submit the project will result in ‘F’ for the course

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.

Individual Work, Research and Plagiarism


All course assignments, activities, projects or exams are assigned for individual work. No group
work is permitted unless specifically allowed. Students are encouraged to engage in discussion
or use other resources (such as research papers, library books or internet articles) but must write
their own answers and provide references to the resources used. At any time, student MUST
NOT reproduce code/answers from other resources (AS IS or with cosmetic changes) and your
answers must not be shared with others. Any plagiarism (even partial work) or cheating is NOT
acceptable and will result in an immediate failure from the class

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.

Faculty members are considered "responsible employees" at Northeastern University, meaning


they are required to report all allegations of sex or gender-based discrimination to the Title IX
Coordinator. Please visit http://www.northeastern.edu/titleix for a complete list of reporting
options and resources both on- and off-campus.

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.

You might also like