CS99

Fundamental Programming Concepts
Summer 2001

 

Course Information
[Course Description][Course Goals][Teaching Staff][Meeting Times][Labs][Textbooks][Web Resources][Exams][Grading]

 

Course Description
CS 099. 2 credits. S-U grades only. Students with previous programming experience should not take CS 099. 

CS 099 is designed for students who intend to take CS 100 but are not adequately prepared for that course.  Students will study fundamental programming concepts and problem analysis.  The course covers data types, loops, object-oriented programming, classes, and methods. All programming is done in Java.

Course Goals
At the conclusion of this course, students should
  1. be familiar with, and be able to use effectively, the CodeWarrior development environment to...
  2. be able to solve simple programming tasks in Java code
  3. be able to use variables, input/output, loops, conditional processing, and methods
  4. practice good programming habits
  5. be able to trace their programs effectively
  6. know how to debug their own code.
Teaching Staff
You can contact the course staff via email, but be sure to include “CS99” in the Subject line. You may also use the newsgroup to send messages to the entire class.  However, you should read the policies before using the newsgroup or sending email.

 
Name Title Email Office Office hours
Alan Renaud Instructor arenaud@cs.cornell.edu 328 Upson T R 2-3PM
Siddarth Alexander Teaching Assistant  alexande@cam.cornell.edu 657 Rhodes M W 2-3PM

 
\Meeting Times
Lectures will be held on Monday and Wednesday of each week in Upson 215. Labs will be held on Tuesday and Thursday of each week in Upson B7. Section 1 will meet from 10:00-11:00am, and section 2 will meet from 11:30-12:30pm.
 
Labs
Labs will be programming assignments where you will put into practice the concepts discussed in lecture. They may also introduce new material.  Labs will be posted on the web the day before they are held (e.g., Thursday labs will be posted on Wednesday). 

During class on the day of the lab, the course staff will be present to assist you as you work on the lab problems. Generally, the labs will consist of two parts: A simple programming task that all students are expected to complete during the lab session, and a second programming task that each student shall choose from a selection provided by the staff.

Labs will be due at the beginning of the next lab session (e.g., a Thursday lab would be due on the following Tuesday). Since you'll need to keep files that you're working on from lab to lab, you'll want to invest in some disks.
 

Textbooks
Official course text:
  • There is no official course text.

Optional course text:

Other texts you might find helpful:

Reserve Reading:

If you want to work on programs at home, you have these options:

  • Purchase the Metrowerks CodeWarrior compiler from the Campus Store (approx. $120)
  • Download the JDK from Sun

The download is free, but you'll probably find it difficult to use. It has no IDE, which means you get no editor or sophisticated debugger. Unless you're accustomed to using the Windows command shell, you'll probably be better off buying Metrowerks. The course staff is not responsible for helping you to work from home, including installing software and submitting labs.

You will also want to purchase either several floppies or a ZIP disk. You'll need these for email, news, and storing your programs.

 

Web Resources
All course materials will be available at: http://www.cs.cornell.edu/courses/cs99/2001su. You should get into the habit of checking your email, the course web page, and the course newsgroup on a regular basis (at least once a day). For email and news, you will need to have a Cornell NetID and password. If you do not have these yet, you need to go to the CIT helpdesk in the CCC building. While you're there, you can also pick up a Bear Access CD. This has the software you'll need to access these resources from your own computer. For submitting labs, you will also need your Instruct password. You will get this from the course staff on the first day of lab.
 
Exams
There will be two preliminary exams and one final exam in this course. Exams will be in-class and closed-book. They will cover material from readings, lectures, and labs.
 
Grading
Course assignments will be weighted as follows:
Assignment Weight
Labs
50%
Prelim 1
15%
Prelim 2
15%
Final Exam
20%
Total
100%

There will be 10 labs @ 5%.

Pursuant to university regulations, a grade of C- or above will become an S grade, and a grade of D+ or below will become a U grade. It will not be known until after Prelim 2 what the mapping between percentage and letter grade will be. However, at that point, a list of who is passing the class (i.e., has a C- or above without even doing the final project, assuming the lab grade stays constant), and who is not, will be provided. This will give you an idea of your final grade but it is not a guarantee! 

Class Participation:  We firmly believe that you'll get more out of the course and will likely enjoy it more, the more you participate in the class.. This does not necessarily mean that you must participate in class by asking questions or volunteering answers. There are other ways you can participate: actively attend office hours, get involved on the newsgroup, provide feedback on the course (questions about content, suggestions for improvement) via email to the instructor or TAs, etc.  

However, students are expected to attend laboratory sessions.

Late policy: No late assignments will be accepted. There is no room for error in the relentless pace of a six-week course. All assignments are due at the beginning of class. 

If you foresee difficulty in submitting a project on time, or anticipate missing a prelim, due to a serious illness or death in your immediate family, notify us as soon as possible and we will do our best to work with you.

Regrade policy: You may submit an assignment for a regrade within 72 hours of when it was handed back to the class. When you do so, you must attach a statement detailing what you believe was graded incorrectly. Your assignment will then be regarded, and your grade adjusted. The adjustment may be up or down! In particular, frivolous requests will be treated harshly. 

Academic integrity: CS99 students must adhere to the department’s policy on academic integrity. In particular, you can talk to one another about how to use the computing environment or about high-level ideas for solutions, but you may not show one another your code, work together on writing code, or share code with one another. If you are unsure of an action, ask a member of the course staff for clarification. So long as you are honest in presenting your work, you are not in violation of academic integrity.

Special Needs: If you require special accommodations for test-taking conditions or for attending lectures, please let the instructor know as soon as possible.