CS253: Software Development with C++

Fall 2019

Syllabus

TaskPoints each
Recit week 1–151
Homework 01
Homework 1–43
Homework 5–74
Homework 84+
Quiz 1–35
iClicker Quiz 1–15½
Midterm 1–213
Final exam13
They don’t add up to 100. Who says they have to?
GradePoints
A≥ 90
B≥ 80
C≥ 70
D≥ 60
F< 60
(no +/− grades)
LabWhenWhereWho
R01Fri8:00–8:50ᴀᴍCSB 325Anurag
R02Fri10:00–10:50ᴀᴍCSB 130Zihui
R03Fri11:00–11:50ᴀᴍCSB 130Zihui
R04Frinoon–12:50ᴘᴍCSB 130Alex
R05Fri1:00–1:50ᴘᴍCSB 130Alex
Class
CS253: Software Development with C++
Lecture
Behavioral Sciences 131, 9:30–10:45ᴀᴍ Tuesday/Thursday, August 27 – December 12, 2019
Last Drop
September 11, 2019
Last Withdraw
October 21, 2019
Required Text
C++ for Java Programmers Mark Allen Weiss, ISBN 013919424X (beware of another book with the same title)
Instructor
Jack Applin <Applin [snail] ColoState [period] Edu> (email tips)
Office Hours
CSB 246:
Tuesday 12:45–2:00ᴘᴍ,
Wednesday 10:00–11:30ᴀᴍ,
Thursday 1:30–2:30ᴘᴍ,
and by appointment
GTA
Alexandre Dubois <Alexandre [period] Dubois [snail] ColoState [period] Edu>
Office Hours
Linux Lab:
Wednesday 3:00–5:00ᴘᴍ,
Friday 11:00ᴀᴍ–noon, 2:00–3:00ᴘᴍ
GTA
Anurag Kumar <Anurag [period] Kumar [snail] ColoState [period] Edu>
Office Hours
Linux Lab:
Tuesday 11:00ᴀᴍ–noon,
Wednesday 11:00ᴀᴍ–noon,
Thursday 11:00ᴀᴍ–noon,
Friday 9:00–10:00ᴀᴍ
GTA
Zihui Li <Zihui [period] Li [snail] ColoState [period] Edu>
Office Hours
Linux Lab:
Monday 7:00–9:00ᴘᴍ,
Wednesday 7:00–9:00ᴘᴍ

Overview

The purpose of this class is twofold:

  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:
    • make
    • debuggers
    • valgrind
    • programming styles (imperative, event-driven, object-oriented)
    • source control systems
    • coding standards

Grading

Homework, quizzes, and tests are weighed according to the tables on the right. Use ~cs253/bin/grade to see all of your scores, or ~cs253/bin/grade HW3 for detailed feedback on homework #3. Quizzes and tests are curved, homework is not, so, for example, you will see both Q2 (quiz #2) and a Q2-curved (quiz #2, curved) versions. There is no extra credit.

The TAs grade everything. If you don’t like your score, talk with them first, then to the instructor if you still disagree.

Homework is submitted & graded online, with ~cs253/bin/checkin and ~cs253/bin/grade. Quizzes are returned in class. Tests are not returned, but you can schedule time with the instructor to review them.

Class participation will be measured with weekly iClicker quizzes. Get one; register it via Canvas.

The Unexpected

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.

Multitasking

Students often believe that they can efficiently multitask. Specifically, they 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.

Contact

Closures

I will announce cancellations on Piazza. 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:

Policies

A student copies

but she has cheated herself 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.

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.