Participation & Quizzes
Short checks to reinforce weekly topics; start on time.
- Weekly knowledge checks as class participation
- In-class discussion & code walk-throughs
- Two announced quizzes + brief pop quizzes
This course introduces computer problem-solving and programming in C++. Algorithmic problem-solving and basic programming techniques are emphasized, using methods such as top-down design and stepwise iterative refinement. Topics include basic data types, operators, control structures, functions, arrays, and pointers.
This is the detailed, week-by-week plan from the official syllabus. Minor adjustments may occur; any changes will be announced in class and on Brightspace.
Chapters 1, 2: How C++ programs run, compiler vs execution, basic input/output.
Introduction to Programming
Chapter 2: Variables, data types, arithmetic operators, input/output.
Variables & Data Types
Chapters 2, 4: Decision making (if, if–else), relational & logical operators, pseudocode.
Decision Making & Logic
Quiz 1 covering logic, tracing, and decision structures.
Control Flow Checkpoint
Chapter 4: Iteration (while, for), counters, sentinel values, and loop patterns.
Iteration & Loops
Chapter 7: One-dimensional arrays, indexing, array processing.
Arrays (Part 1)
Review of Lessons 1 to 5. Integrated problem solving practice.
Midterm Review
In-class written exam followed by post-exam discussion.
Midterm Exam
Chapter 7: Array algorithms and introduction to vectors.
Algorithms & Vectors
Chapter 7: Searching, sorting, problem framing. Final Project assigned (incremental).
Algorithms with Data
No classes.
Spring Recess
Chapter 3: String manipulation and text parsing. Quiz 2.
Strings & Text Processing
Chapter 6: Reading data and writing results to external files.
File Input/Output
Chapter 8: Introduction to pointers, memory concepts, debugging.
Pointers (Intro)
Project development, cumulative practice, and code refinement (Chapters 1-8).
Project Progress
Final review and exam preparation (Chapters 1-8).
Final Review & Practice Coding
Project presentations (May 18) and Final Exam (May 20).
Final Exams
Chapter numbers follow the main course text. If you are using a different printing/edition, use the topic column as the source of truth and ask in class if you are unsure.
Short checks to reinforce weekly topics; start on time.
Frequent, focused practice. Expect clean headers, comments, and testable examples.
Midpoint evaluation of your programming foundations.
Culmination of the course.
| Discussion & Chekcs | 10% |
| Class Participation | 5% |
| Quizzes | 15% |
| Assignments | 20% |
| Mid Term Exam | 25% |
| Final Exam + Project | 25% |
Letter grades follow standard CUNY grading scale.
You will have multiple opportunities to earn extra credit:
All submitted work must be your own. Sharing solutions, copying code without attribution, or submitting generated work as your own violates course policy.
Review the college's policies on Plagiarism and Cheating.
If you have a documented accommodation, please contact the instructor early so we can implement approved adjustments promptly.
Students seeking accommodations should coordinate through the Office of Accessibility Services (OAS).
If you already have a different C++ toolchain configured, you may continue using it - but demos/screenshots in class assume Dev-C++ on Windows.
GitHub will be our shared workspace and code archive. It helps you track every change, back up projects safely, and practice professional version control workflows. You’ll also use it to build your coding portfolio - and later, submit assignments when instructed. Practice and share only your learning repos (like CSCI-271-<semester>), not graded assignments, to avoid revealing answers to others.
Any recent printing is acceptable. Library/ebook access is fine for reading and study.
In addition to class notes, assignments, and demos, you are strongly encouraged to practice C++ regularly outside class. The websites below can help you build confidence with syntax, logic, debugging, and problem solving.
You do not need to complete everything on these sites. Use them to get extra practice on topics such as loops, functions, arrays, strings, classes, and general C++ problem solving.
These are optional practice resources, but students who practice consistently usually become much more confident with coding, especially when we move deeper into classes, operator overloading, inheritance, and polymorphism.
Follow instructions on Brightspace for each assignment. When asked to use GitHub, keep the repo private and share access for grading.
We focus on correctness, clarity, and adherence to requirements. Partial credit may be limited if logic is incorrect or unexplained.
Use AI to learn concepts, not to replace your work. Cite any use in your README. You must be able to explain your code.
Email: ARoy [AT] jjay [DOT] cuny [DOT] edu
Office: NB 6.63.29 - Office hours by appointment.
Scheduling is flexible - email to coordinate a time.
Last updated: