CS253: Software Development with C++

Fall 2021

Syllabus

TaskCountPointsTotal
Labs15115
Quizzes13113
Homework 0111
Homework 1–77428
Midterms21428
Final exam11515
GradePoints
A+≥ 96.67
A≥ 93.33
A-≥ 90.00
B+≥ 86.67
B≥ 83.33
B-≥ 80.00
C+≥ 76.67
C≥ 70.00
D≥ 60.00
F≥ 00.00
Class
CS253: Software Development with C++
Lecture
9:30–10:45ᴀᴍ MT Tuesday/Thursday in Engineering 100 (SW corner, near the CSU bookstore)
Labs
Weekly labs (alias recitations) are online only.
Semester
August 24 – December 10, 2021
Optional Text
C++ for Java Programmers Mark Allen Weiss, ISBN 013919424X (beware of another book with the same title)

Role Who Office hours
Instructor A picture of Jack Applin 📧 Jack Applin Teams: Mon 4–6ᴘᴍ, Wed 6–8ᴘᴍ, Fri 5:30–7:30ᴘᴍ MT and by appointment, on Teams or in person
GTA A picture of Sriharsha_Kathuroju 📧 -> mailto:Sriharsha [period] Kathuroju [snail] ColoState [period] Edu Sriharsha Kathuroju Linux Lab: Mon 6–8ᴘᴍ, Thu 6–8ᴘᴍ MT
GTA A picture of Zihui Li 📧 -> mailto:Zihui [period] Li [snail] ColoState [period] Edu Zihui Li Linux Lab: Mon 7–9ᴘᴍ, Wed 6–8ᴘᴍ MT
GTA A picture of Changsoo Jung 📧 -> mailto:Changsoo [period] Jung [snail] ColoState [period] Edu Changsoo Jung Linux Lab: Wed 10ᴀᴍ–noon, Fri 1–3ᴘᴍ MT
GTA A picture of Soumyadip Roy 📧 -> mailto:Soumyadip [period] Roy [snail] ColoState [period] Edu Soumyadip Roy Linux Lab: Tue noon–2ᴘᴍ, Wed noon–2ᴘᴍ MT
UTA A picture of Alexander O’Hara 📧 -> mailto:Alex [period] OHara [snail] ColoState [period] Edu Alexander O’Hara Teams: Tue 7–9ᴘᴍ, Thu 8–10ᴘᴍ, Sat 11ᴀᴍ–2ᴘᴍ MT
UTA A picture of Jonathan Pfoff 📧 -> mailto:Jonathan [period] Pfoff [snail] Rams [period] ColoState [period] Edu Jonathan Pfoff Teams: Tue 4–7ᴘᴍ, Wed 4–6ᴘᴍ, Thu 4–6ᴘᴍ MT

General

  1. Learn C++, which will partition the class into three sections:
    • Non-object-oriented C++
    • Object-oriented C++
    • Templates and the STL
  2. Learn the tools of a professional programmer, including:

Letter Grades

Letter grades are computed per the table above. There’s no rounding. If you earned 89.99 points, you get a B+, not an A−. The labs & weekly quizzes are worth a lot of points—don’t throw them away and miss a letter grade by quarter point. There is no extra credit.

Labs

Programming Assignments

Quizzes & Tests

Getting Help

Making up Work

If illness prevents you from doing homework or taking a quiz/test, get a note from Hartshorn, a doctor, an emergency room, etc. It is not good enough to diagnose yourself. Similarly, if you suffer a family tragedy, your apartment catches fire, you’re called up for military service, etc., then provide documentation for the event. Concerts and ski trips are not unexpected.

Don’t ask the TAs to let you turn in work late, or to let you make up work. They don’t have the power to permit that—only the instructor does.

If the instructor allows make-up or late work, they will simply change your Canvas due date. Don’t email it—just check it in to Canvas.

Time Zones

All dates & times mentioned are Mountain Time (currently 5:49PM MST November 21, 2024), the time zone used at CSU. Your time zone does not determine deadlines; CSU’s time zone (Mountain Time) does.

COVID-19

Closures

I will announce cancellations on Teams. However, I don’t decide when to cancel classes—CSU does. If the weather looks interesting, go to https://safety.colostate.edu. If that site says that CSU is closed, then classes, labs, office hours, etc., are cancelled. If it doesn’t, then they’re not.

Conduct in Class

Don’t distract the students. I can’t force you to learn, but you must allow others to do so. This means:

Students often believe that they can efficiently multitask. Some believe that they can surf the web, catch up on social networking, and absorb the lecture at the same time. They are incorrect. Studies consistently show that we are all miserable at multitasking.

Cheating

A student copies

but they have cheated themself and so fails the class

Exams and projects will be done individually and grades assigned on an individual basis. Further, students not already familiar with the CSU Honor Pledge should review this clear and simple pledge and always adhere to it.

Policies on cheating, plagiarism, incomplete grades, attendance, discrimination, sexual harassment, and student grievances are described in the Student Information Guide. All other matters follow the policies set in the current CSU General Catalog, the Student Conduct Code, and in the CS Dept. Code of Conduct.

You may not copy or use, all or in part, someone else’s work. You may not give your work, all or in part, to someone else for any reason. It is your responsibility to keep your work private from all others. You may not collaborate to produce one product turned in multiple times. You may not use work done in a previous semester by someone else. You may not post assignments on the internet. Paying for homework will result in dire consequences. Acting surprised will not help you.

The use of online “homework helper” sites including, but not limited to, Chegg, NoteHall, Quizlet, and Koofers are not permitted in this course. Please reach out to your instructor to discuss if a specific service you are thinking about using for this course is acceptable. Use of these types of resources will be considered receiving unauthorized assistance and, therefore, a violation of the student conduct code. Using them may result, at the discretion of the instructor, in an F for the course or a negative value for the assignment, quiz, or exam. All incidents of this type will be referred to the CSU Student Resolution Center and may be subject to additional University disciplinary action.

You may discuss assignments but the work you turn in must be your own. You have crossed the line if you start comparing someone else’s work to your own (or vice versa). You have crossed the line if you cannot explain/understand the work you submit. “I copied it from the internet” is not an explanation.

Writing a program comprises two phases: design and implementation. You must do both on your own. It is unacceptable to have joint design but separate implementations.