CS 164 Syllabus

Welcome to CS 164. Here’s what the bulletin says we should do:

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.

Here’s what we’ll actually do: learn all the above stuff in the context of a real software project. 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 6–9:40pm in LLC 234C. Three credits, prerequisite: CS130.

Contact information

Prof. Christopher League, Ph.D.
– please include course number in subject.
cleague@gmail.com (GTalk/XMPP), league@contrapunctus.net (MSN), chrysleague (AIM), chrisleague (Skype)
+1 718 488 1274 (office), +1 646 450 6278 (Google voice)
Office hours:
Monday, Wednesday 11–11:50 or make an appointment at https://liucs.net/bookme.html
Office location:
LLC 206


Web site:

There are two books we will be using: the first is very strongly recommended, the second is merely recommended.

  1. The Pragmatic Programmer: from Journeyman to Master by Andrew Hunt and David Thomas, Addison-Wesley 0-201-61622-X. [Paperback, Kindle, PDF]

  2. The Mythical Man-Month by Frederick P. Brooks, Jr., Addison-Wesley 0-201-83595-9. [Paperback, Kindle]


Campus library resources tailored for computer science are available at http://www2.brooklyn.liu.edu/library/wlp/LibPortal-CS-BC.htm


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

  • There will be 8 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 7 milestones count, for a total of 875 points. Warning: the last milestone cannot be dropped.

  • 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+ ≥ 670: D+
≥ 930: A ≥ 830: B ≥ 730: C ≥ 600: D
≥ 900: A–    ≥ 800: B–    ≥ 700: 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 get 930 points, you are guaranteed an A.


No late assignments will be accepted, because we will discuss and evaluate your work promptly after the deadline. This helps to ensure that everyone receives timely feedback, and that you can learn from mistakes while they are still fresh in your mind.

There will be no extra credit. Students usually ask for extra credit late in the semester after they have already messed up 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 http://bit.ly/lVShWN

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.

Showing up on time to class every week 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.

Long Island University seeks to provide reasonable accommodations for all qualified persons with disabilities. This University will adhere to all applicable federal, state and local laws, regulations and guidelines with respect to providing reasonable accommodations as required to afford equal educational opportunity. It is the student’s responsibility to register with Special Education Services (SES) as early as possible and to provide faculty members with the formal communication from SES for suitable accommodations. All accommodations must be approved through SES. Contact Information: 718 488 1221 or 718 488 1044.

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