CS 1044 Syllabus: Introduction to Programming in C/C++

Course Information

Instructor: Jonathan Leidig

Email: leidig@vt.edu

CRN: 70248

Credits: 3

Office Location: MCB 106

Office Hours: MTR 11:30 AM - 12:30 PM

Meetings: MTWRF 12:30-1:45 PM MCB 204

Pre-requisites: None (Computer and Internet/Web Literacy)

Required Textbook: Programming and Problem Solving with C++. Dale & Weems. (ISBN:9780763771515)

NOTE: This course partially duplicates ECE 1574 and ENGE 2314 (Engineering Problem Solving with C++). If any student has previously passed either of these courses, CS 1044 can NOT be taken for credit.


The purpose of this course is to teach the fundamentals of structured programming and problem solving in the C++ programming language. Students will acquire the skills necessary to design appropriate, efficient solutions to problems and test developed software for correctness. Students will acquire abilities to develop programs with a wide set of programming constructs. Students will also be able to formulate effective solutions through the appropriate selection of relevant programming artifacts.

Course notes, syllabus, etc.



Point Distribution

The final grade will be based on the number of points achieved with the following weight distribution.

Participation 10%

Homework 20%

Programming Assignments 30%

Midterm 20%

Final 20%


The midterm will be held during class as scheduled in the course calendar. Notify the instructor as early as possible if there is a valid time conflict on this date. The final exam will likely be a take-home exam due immediately after the scheduled final exam period.


A grade curve may or may not be used in this course. The application of a curve is dependent upon class performance on tests and homework. The decision to utilize a curve rests entirely with the course instructor.

Grade Scale
































Appropriate Sources for Help/Questions

CS 1044 Classmates during class

CS 1044 TA during office hours, NOT by email

CS 1044 Instructor

Honor Code

Students may NOT share programs or solutions with other students. Students caught sharing portions of programs or violating the Honor Code will be submitted to Honor Board for review.

The Honor Code will be strictly enforced in this course. All assignments submitted shall be considered graded work, unless otherwise noted. All aspects of your coursework are covered by the Honor System. Any suspected violations of the Honor Code will be promptly reported to the Honor System. According to the Constitution of the Virginia Tech Honor System "The fundamental beliefs underlying and reflected in the Honor Code are: (1) that trust in a person is a positive force in making that person worthy of trust, (2) that every student has the right to live in an academic environment that is free from the injustices caused by any form of intellectual dishonesty, and (3) that the honesty and integrity of all members of the university community contribute to its quest for Truth." (see http://www.honorsystem.vt.edu/)

Homework, tests, and exams are considered individual work and cannot be developed or written up with assistance from individuals other than the course TAs, the course instructors, and ACM or UPE tutors.

Examples of honor code violations include:

Working with another student to derive a common program or solution to a programming assignment or homework problem. Discussing the details required to solve a programming task. You may not share solutions. Copying source code (programs) in whole or in part from someone else, with or without their knowledge or consent. Editing (computer generated) output to achieve apparently correct results. Taking another person's printout from a lab printer, remote printer, trashcan, etc.


If you need adaptations or accommodations because of a disability, if you have emergency medical information to share with me, or if you need special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible.