CS 164 Syllabus

22 January 2018

A study of software project management concepts, software cost estimation, quality management, process involvement, overview of analysis and design methods, user interface evaluation, and design. Also considered are dependable systems – software reliability, programming for reliability, reuse, safety-critical systems, verification and validation techniques; object-oriented development; using UML; and software maintenance.

Welcome to CS 164. In this course, we will learn the process behind software development from front to back, by building a real project through the whole semester. You will be responsible for many parts of the system yourself, but we will discuss the overall design and direction as a class so that we can stay on track and learn from each other.

Monday, Wednesday 12–1:50 PM

Contact Info

Prof. Christopher League, Ph.D.
christopher.league@liu.edu — please include the course number (CS164) in the subject. I have several email addresses, but all messages end up in the same place, so please use only one.
Google Hangout:
Office hours:
Monday, Wednesday 4–4:50 PM, Thursday 3–4:50 PM, or make an appointment at https://liucs.net/bookme
Office phone:
+1 718 488 1274
Office location:
H-700, LIU Brooklyn


  • We will use several web resources:

    If you have a question or problem that might also apply to other students, please ask on the discussion forum rather than by email. Then the GA and other students can help you too, and the solution is available for all to see. Try to use email only for personal matters such as your grades.

  • There is no required textbook, but if you’d like a book to supplement or for reference, here are some suggestions:


There are a total of 1,000 points available, broken down as follows:

  • There will be 7 project milestones scheduled throughout the semester. The exact requirements and expectations for each will be posted to the course web site. Your contribution will be worth 125 points each, but I will drop the lowest, so that only 6 milestones count, for a total of 750 points. Warning: the last milestone cannot be dropped.

  • There will be 7 ‘check-in’ opportunities scheduled. These vary from week to week, but may involve responding to a survey, taking a brief online quiz, or participating in a discussion forum. Check-ins are worth 25 points each, but I will drop the lowest two scores so only 5 will count, for a total of 125 points.

  • There is no midterm exam, but there will be a final exam, worth 125 points.

On the 1,000-point scale, you can expect the following letter grades:

   ≥ 870: B+ ≥ 770: C+
≥ 930: A ≥ 830: B ≥ 730: C ≥ 600: D
≥ 900: A–    ≥ 800: B–    ≥ 680: C–    else: F

In the end, I may choose to adjust the scale slightly to compensate for assignments or questions that turned out to be trickier than I intended. Such adjustments would never lower your grade from what is designated in the above table; if you achieve 930 points, you are guaranteed an A.


It is important to complete tasks on time, so you don’t fall behind. Late work will be graded as follows.

This formula specifies a lateness factor \(f\) that is multiplied by your earned score to determine a late score. The variable \(h\) represents the number of hours the submission is late.

\[ f = \frac{8.5 - \log_2{\left(\frac{h}{24}\right)}}{10} \]

You can adjust the sliders beside the graph below to visualize the effect of this formula. The green slider at the left controls the score you would have received based on the content of the work. The red slider below controls how late the assignment was turned in. The red circle in the graph indicates the adjusted score.

Your browser doesn’t support canvas.

There will be no extra credit. Students usually ask for extra credit late in the semester after they have already squandered their original opportunities. Be sure to start your work early, so that we can detect and solve any problems before they can affect your grade.

Plagiarism is the use or presentation of ideas, words, or work that is not one’s own and that is not common knowledge, without granting credit to the originator. Plagiarism is a practice that is not only unacceptable, but which is to be condemned in the strongest terms possible on the basis of moral, educational and legal grounds. Under University policy, plagiarism may be punishable by a range of penalties from a failing grade in the assignment or course to dismissal from the School of Business, Public Administration and Information Sciences. All students are required to read the handbook on avoiding plagiarism by visiting https://liucs.net/u2

Cheating includes, but is not limited to the following: falsification of statements or data; listing sources that have not been used; having another individual write your paper or do your assignments; writing a paper or creating work for another student to use without proper attribution; purchase of paper or research work for one’s submission as his/her own work; using written, verbal, or electronic or other sources of aid during an examination (except when expressly permitted by the instructor, depending on the nature of the examination) or knowingly providing such assistance to aid other students.

In a course with programming assignments, it is usually okay to work with and learn from other students to some extent, but what you submit in the end needs to be your own. The most reliable way to do that would be to set aside whatever code you created together, and then recreate it from scratch on your own.

Showing up on time to class is extremely important. If you must be absent or more than 5 minutes late, please try to notify me in advance. I will be keeping track of whether you are in class, and when you arrive. A few missed classes will not count against you, but habitual absence will significantly hurt your grade. Additionally, there will be no make-up quizzes. I do not distinguish between ‘excused’ and ‘unexcused’ absence. Unless you miss an exam due to a severe medical emergency, I don’t want to see a doctor’s note. If you do miss an exam, the make-up exam will be different – and probably not easier.

In accordance with Section 504 of the Rehabilitation Act of 1973 and the Americans with Disabilities Act of 1990, including changes made by the Americans with Disabilities Amendments Act of 2008, the Long Island University does not discriminate against qualified individuals with disabilities. If you are a student with a documented disability/impairment (psychological, neurological, chronic medical, learning disability, sensory, physical) and require reasonable accommodations, please register with Student Support Services and provide me with an accommodation letter. Visit Sloan Building 1st floor, call 718 488 1044, or visit http://www.liu.edu/Brooklyn/SSS

I participate in the LIU Safe Zone program. Representatives of the program serve as contacts for individuals on campus with questions or concerns related to sexual orientation and gender identity, whether of self or of a friend or family member. The goal of the program is to promote a safe and free campus for all students. Safe Zone areas can be identified by a sticker with the LIU Safe Zone logo.

The Family Educational Rights and Privacy Act (FERPA) gives students control over the disclosure of their educational records. During this course you may have the opportunity to create accounts or register with certain public online services. In these cases, you need not make any personally identifying information public. You may use a pseudonym or online handle, as long as you identify yourself to the instructor.

Time commitment

New York State defines one credit as a total of 15 hours instructional time, plus 30 hours of student preparation. Thus, a typical three-credit course will amount to 45 hours instruction plus 90 hours preparation. (For these computations, an ‘hour’ actually consists of 50 minutes.)

To perform well, you will have to spend some time preparing and reviewing outside of class, and a significant amount of time completing programming assignments (keeping in mind that earlier assignments will require less time than later ones).

  • Lecture time: 4 hours per week × 15 weeks = 60 hours
  • Preparation time (reading, reviewing): 2 hours per week × 15 weeks = 30 hours
  • Assignment completion (problem-solving, programming): approximately 10–14 hours per assignment × 7 assignments = 90 hours.
  • Total: 180 hours