CS115: Principles of Computer Science, Fall 2009

Time & Loc.: MW 3:05AM -- 4:20PM, ENG 107 (Labs will be in ENG 233)
Instructor: Prof. Xiaobo (Joe) Zhou
Office: 176 Engineering
Office Hours: MW 2:00PM - 3:00PM
Phone: 719-255-3493
Email: zbo@cs.uccs.edu
Syllabus: PDF
Lecture Notes: Download
Supplements: Download

Course Description

CS 115 gives the introduction to programming with emphasis on computer science concepts, particularly on the concepts of abstraction in problem solving. Students will learn to develop computer programs for problem solving, develop proficiency for programming in a modern programming language (Java), understand the basic principles of object-orientation and application to problem solving, and understand the selected advanced concepts in OO and Java. The course will also introduce basic concepts of computer systems and programming environments.

Announcements

Required Background and Expectation

Textbook

Course Tentative Schedules

Homework Programming Assignments

Exam Schedules

Grading Scale

 Percentage  Grade
 [90, 100]  A
 [87, 90)  A-
 [84, 87)  B+
 [80, 84)  B
 [75, 80)  C+
 [70, 75)  C
 [65, 70)  D+
 [60, 65)  D
 Below 60  F

Borderline cases will be resolved by student participation in class providing intelligent questions, informative comments, and constructive criticisms.

Grading Percentage

 CS115
 In-class discussion and labs: 10%
 Homework programming assignments: 35%
 In-class Quizzes: 8%
 Midterm: 17%
 Final Exam: 30%

All exams and quizzes will be carefully and fairly graded by the instrutor himself.

The attendance policy is as follows: Students should attend all lectures and labs. Missing lectures are extremely risky since the teaching pace is fast and the course is heavy! There will be concepts and examples presented in class that are not covered in the notes. Class discussion is always an important and useful component of each class. Computer Science Department Policy: "Students in 100 and 200 - level CS courses can have at most four absences, after which they would lose at least one letter grade." Attendance is taken for all 100 and 200 level CS classes. Please contact me by email if you need to miss class and it will be handled case by case. Documentation may be required (e.g. a doctor's note).

Cheating

Unfortunately, it is necessary to mention it here. Cheating on an exam or on homework may result in a grade of F in the course or expulsion from the University. Copying the work of another student whether that work is a homework program or an exam problem is cheating. Obtaining code via the Internet is cheating. You must write your own programs completely and not modify some other student’s work to disguise that the work has not originated from you. It is usually quite easy to see through such disguises. You are always welcome to discuss concepts with fellow students. You must draw a sharp line between discussing a concept and its implementation in a program. The former cooperation is allowed the latter is cheating. You are always welcome to chat with me about the design of a program. I shall take great care in clearing as many obstacles for you as possible but will not take away from you the challenge and learning value that you will derive from doing most of a problem yourself.

Homework assignment submission requirement

Each student must accomplish the assigned homework problems individually. While you may discuss the concepts and algorithms before developing the program solutions, the solutions and the code, which you hand in, must be written by yourself. You may not work together on the actual coding of the assignments. The turning in of duplicate (or near duplicate) code will be seen as cheating and will result in a zero grade for all students involved.

Each homework assignment may contain a set of problems with a due date specified usually one week from the date the problem set is assigned. Assignments will be posted on my website and handed out in class. Each problem in a problem set shall receive a separate grade.

Each homework assignment should be turned in at the beginning of class on the due date. In case you cannot complete a problem by the beginning of class on the due date, you can take another two days to work on the problem and turn it. The penalty for such a period late submission will be 20 percent. If you hand the problem in two class periods late, the penalty shall be 40 percent for that problem. Beyond one week from the specified due date the problem shall NOT be graded for any reason.

Please assemble all homework in an envelope or folder of your choice. I shall not accept loose homework. The folder should keep the contents from falling out and contain:

  • A clear header including your name (and your partner name in case some lab assignments), assignment number and problem number.
  • A copy of the homework assignment sheet.
  • A printout of all source code and supporting comments.
  • A printout of the output from each program.
  • A USB drive (or a CD-ROM) containing all source code needed to compile and run your program. This diskette must not contain any files unrelated to the problem set. I shall compile and run each program that you submit as well as examine your source code. This source code must be nicely and consistently formatted. Unformatted or difficult to decipher code shall result in a grade reduction for the particular problem being graded.
  • If your problem is one or two class periods late you must clearly state this on top of the first sheet.
  • A self-assessment of each problem. This should indicate whether you believe you have completed the problem successfully. It may also discuss any special difficulties that you have had in solving the problem.

    Programs will be graded by compiling and running them on a PC configured like the lab computers. Make sure that the programs can be tested at the DOS console, by the use of javac and java commands!! I will NOT use any IDE to grade the programs, though you can use any IDE such as NetBeans to develop the programs. Please verify the contents of your drive or CD before turning it in. It has not been uncommon to receive drives that contain nothing. That is the grade that is awarded. If a program does not compile at the DOS console, it shall receive an automatic grade of 0. If a program produces run-time or logical errors you shall receive only partial credit.

    Other Course Policy

    Useful Web Links