CS253: Software Development with C++

Fall 2020

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
Lectures are virtual—ignore the assigned classroom. Lectures are recorded and available via Microsoft Teams. You can watch the lecture live via Teams at the scheduled time and ask questions, or watch it later. Watch the lectures promptly, so you don’t fall behind.
Labs
Weekly labs (alias recitations) are also virtual. Ignore the assigned room. A recorded video introduction for each lab will be available via Teams. Do the lab, and turn in your results via Canvas.
Semester
August 25 – December 10, 2020
Last Drop
September 9, 2020
Last Withdraw
October 19, 2020
Optional Text
C++ for Java Programmers Mark Allen Weiss, ISBN 013919424X (beware of another book with the same title)
Instructor
Office Hours
via Teams: Tuesday 4:00–6:00ᴘᴍ MT, Thursday 8:00–10:00ᴘᴍ MT, Friday 5:00–7:00ᴘᴍ MT, and by appointment
GTA
Sushant Patankar <Sushant [period] Patankar [snail] ColoState [period] Edu>
Office Hours
Via Teams: Friday 1:00–4:00ᴘᴍ MT, Saturday 1:00–4:00ᴘᴍ MT
GTA
Miller Ridgeway <Miller [period] Ridgeway [snail] ColoState [period] Edu>
Office Hours
Via Teams: Wednesday 11:00ᴀᴍ–2:00ᴘᴍ MT, Friday 10:00ᴀᴍ–1:00ᴘᴍ MT
GTA
Viraj Shastri <Viraj [period] Shastri [snail] ColoState [period] Edu>
Office Hours
Via Teams: Thursday 2:00–5:00ᴘᴍ MT, Saturday 10:00ᴀᴍ–1:00ᴘᴍ MT
GTA
Aniket Tomar <Aniket [period] Tomar [snail] ColoState [period] Edu>
Office Hours
Via Teams: Wednesday 2:00–3:00ᴘᴍ MT, Thursday 8:00ᴀᴍ–9:00ᴀᴍ MT, Thursday noon–2:00ᴘᴍ MT, Friday 8:00–10:00ᴀᴍ MT

COVID-19

All students should fill out a student-specific symptom checker each day before coming to class (https://covidrecovery.colostate.edu/daily-symptom-checker/). In addition, please utilize the symptom checker to report symptoms, if you have a positive test, or exposed to a known COVID contact. If you know or believe your have been exposed or are symptomatic, it is important for the health of yourself and others that you report it through this checker. You will not be in trouble or penalized in any way for reporting. If you report symptoms or a positive test, you will receive immediate instructions on what to do and CSU’s Public Health Office will be notified. Once notified, that office will contact you and most likely conduct contact tracing, initiate any necessary public health requirements and/or recommendations and notify you if you need to take any steps. For the latest information about the University’s response, please visit the CSU COVID-19 site https://covidrecovery.colostate.edu/.

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:

Letter Grades

Letter grades are computed per the table above. There’s no rounding. If you earned 89.99 points, you get a B+. 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.

Quizzes & Tests

Takes quizzes & tests via Canvas. Use Canvas to see your scores. Quizzes & tests are weighed according to the table above. Quizzes are not curved, only the midterms and the final exam are. Contact the instructor to review a Canvas test.

Homework

Submit homework via Canvas. Use Canvas to see your scores & feedback. The TAs grade the homework. If you don’t like your score, talk with them first, then to the instructor if you still disagree.

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.

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.

It is especially difficult to maintain focus in an online envirohment. Persevere!

Contact

Reliable ways to contact the CS253 staff:

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:

SDC

The course policies for the SDC (Student Disability Center) students are based on the policies of the College of Natural Sciences. The homework & lab deadlines applicable to regular students apply to SDC students as well. The instructor may permit a student to take quizzes/tests at the SDC.

Cheating

A student copies

but he has cheated himself 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.