CS212: Syllabus

Contents

[0. Policies] [1. Course Description] [2. Course Objectives] [3. When To Take CS212] [4. Staff]
[5. Lecture] [6. Section] [7. Communication] [8. Assignments] [9. Exams]
[10. Academic Integrity] [11. Course Grades] [12. Reading and Textbooks] [13. Software Requirements
And Resources]
[14. What To Do First]

0. Policies

You are responsible for the information in this document and the complete list of policies on the course website. This document is located at the Syllabus link on the course website at http://www.cs.cornell.edu/courses/cs212/2003su.

1. Course Description

2. Course Objectives

In CS212, you are expected to do the following:

To help you develop these skills, you will work on a large-scale project that we split into three assignments. The assignment is described below in Assignments. The lecture topics and notes will be listed on the main CS212 page.

3. When To Take CS212

CS212 is a 1-credit project course that the computer science major requires. Students may either take CS212 simultaneously with CS211 or afterwards, though we recommend taking CS212 as a corequisite.

4. Staff

Since the summer class is considerably smaller than fall or spring classes, we will have no TAs or consultants for CS212.  I will handle all of those tasks.  My info is:

5. Lecture

5.1 Requirements

You are expected to attend all lectures. Note that there is no "ENGRD 212."

5.2 Registration Information

Course ID Section Day Time Place

22 595 212 LEC 01

LEC 01 MT 1:00-1:50 Olin 245

 

 

5.3 Conduct

We expect the following to improve the effectiveness of lecture for all students:

5.4 Lecture Notes

I put most of my files for lecture notes, corresponding readings, and examples under the Lecture Notes section of the main page, usually just before or after lecture. Not all material covered in lecture will necessarily be on-line. However, sometimes it's the reverse scenario, so you are responsible for this material.

6. Section

We won't be holding sections for the summer CS212 course.

7. Communication

You are responsible for the following forms of communication:

To contact me or hand in an assignment, simply email me at ejk16@cornell.edu.  The course is so small during the summer that

8. Assignments

8.1 General Information

You will have about three homework assignments this semester. Each assignment usually contributes to an overall project that takes most of the semester to complete. So, each assignment is called a part (or phase), using the simple abbreviation of p. During lecture, I will usually give tips on anticipating the next part so that you can work ahead.

To achieve the course objectives, the project involves writing an online voting system, in which clients can connect to a server to view elections and candidates, and to cast votes.  The server will allow election officials to monitor election results, open and close elections, etc.  My aim with this project is to introduce you to many aspects of Java (and programming in general): GUIs, threads, streams, serialization, networking, and even a little security.  Hopefully you can feel proud of the results when you're done.

8.2 Partners

Unless otherwise posted, you must follow these rules:

8.3 Submission

Simply email me a .zip file that includes all of your java files, as well as other files (packages, pictures, etc.) necessary for your project to work correctly.

8.4 Late Policy

Generally, late assignments receive no credit, though we will handle them on a case-by-case basis. If any of your partners has a university-excused conflict (see Conflicts, below), the remaining partners are still responsible for submitting the assignment on time and training the partner(s) who missed some of the work. If you work by yourself and have a university-excused conflict, you need to contact the instructor before the due date to make arrangements.

8.5 Conflicts/Illness

If you miss an assignment due date because of illness or another university-excused conflict, you must contact the instructor and provide documentation. If you miss more than one assignment, you are strongly encouraged to drop the course.

8.6 Regrades

The regrade policy will have to be decided, since the summer course is so much shorter.  I would like to give students some chance to have their projects regraded.  Assuming we do have such a policy, I will assign the following penalties:

Note that I will not accept major overhauls of your code for regrade.

8.7 Submission Format

For each assignment, you must do the following:

To submit an assignment, place all of these files in a .zip file, and email the .zip file to me.

9. Exams

CS212 has no exams: no prelims, no quizzes, and no final exam. Lucky you :)

10. Academic Integrity

All students must follow the Code of Academic Integrity (A.I.) at all times. Unless posted, follow the rules as listed above in Assignments. The penalty for any violation of the code is severe. Refer to the A.I. rules that are posted on the website.

11. Course Grades

Your final grade will be based on the assignments. All partners must contribute equally. If discrepancies arise, we will adjust course grades accordingly, as stated above in Assignments. The tentative weights of each part are as follows:

12. Reading And Textbooks

We don't have a book for CS212, only for CS211.  See the CS211 site for info.

13. Software Requirements And Resources

We require that students use Java SDK 1.3 or higher. The CIT computer labs that support Java use CodeWarrior 8.0. Although we suggest that you use CodeWarrior for consistency, you may use any development environment that you wish. Personally, I prefer JBuilder, which is free for download from www.borland.com (download the Personal version; you'll have to answer some questions first though).  You can download it from this page.

14. What To Do First