CS99

Fundamental Programming Concepts
Summer 2002

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

 

Course Description
CS 99. 2 credits. S-U grades only. 

Students with previous programming experience or students who do not intend to take CS 100 should not take CS 99. 

In CS 99, basic programming concepts and problem analysis are studied. An appropriate high-level programming language (MATLAB) will be used. 

 

Course Goals
At the conclusion of this course, students should have learned how to do the following:
  • develop an algorithm from a word problem, using pseudocode.
  • identify the language elements of a programming language.
  • use MATLAB's help facility.
  • perform arithmetic and other fundamental mathematical operations with variables, operators, functions, and values.
  • write programs that use control structures (selection and repetition statements) to solve problems
  • modularize programs with functions to remove redundancy
  • use MATLAB's built-in ability for arrays.
  • test and debug code by tracing.
  • know how to maintain good style and appropriately document code.
Teaching Staff
You can contact the course staff via email, but be sure to include “CS99” in the Subject line. 

 
Name Title Email Office Office hours
Alan Renaud Instructor ajr5@cornell.edu 328 Upson TBA
Ivan Lysiuk Teaching Assistant il35@cornell.edu 328 Upson TBA
Marcel Yvon Blais Teaching Assistant  mblais@cam.cornell.edu 657 Rhodes TBA

 
Meeting Times
Lectures will be held on Monday and Wednesday of each week. Monday's lecture will be in Olin Hall 216; Wednesday's lecture will be held in the class laboratory, Upson B7.  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.
 

Homework

Homeworks are programming assignments where you will put into practice the concepts introduced in lecture.  Students may not work with partners; work is to be completed outside of class time.  You may review the department's policy on academic integrity to see what comprises acceptable collaboration.

Each homework assignment is worth 5% of the final grade. There will be 9.  Students are recommended to do them all.

After the first week, homework assignments will be posted online every Monday and Wednesday evening and also handed out in lecture that day. Homework posted Monday is due at the beginning of lab on Thursday; homework posted Wednesday is due at the start of the following Tuesday's lab.

 

Labs
Labs also allow students to practice concepts from lecture, but at a less challenging level than the homework.  For labs only, students may work in groups of two and may discuss the problems with others.  The teaching assistants will be on hand to answer questions and to help with any problems students may have, conceptual or otherwise.

Each laboratory assignment is  worth 1% of the final grade; there will be 7 of them.

Labs are designed to be completed in an hour.  They are handed out at the beginning of each lab session and are expected to be returned at the end of the same session.

Attendance is mandatory for labs, as new material will be introduced in them.

You will want to purchase either several floppies or a ZIP disk.  You will need these for storing your programs and perhaps for email.  Work from earlier labs will come in handy for later ones.
 

Quizzes

There will be some occasional in-lecture quizzes, dates determined at the instructor's discretion.

The quizzes are worth 3% of the final grade..
 

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: by actively attending office hours, providing feedback on the course (questions about content, suggestions for improvement) via email to the instructor or TAs, etc or otherwise be 'engaged' with the class.  

Class participation is worth 5% of your final grade.

For full credit, students must attend laboratory sessions and lecture and may not miss any of the quizzes.
 

Textbooks
CS 99 requires that you program in MATLAB.

Official course text:

  • There is no official course text.

Optional course text:

  • MATLAB: Programming for Engineers, Second Edition, by Stephen J. Chapman (Brookes-Cole, 2001).  On reserve at Carpenter Library. This is also one of the texts for CS100, so it's a good investment. 
Other texts you might find helpful:

Reserve Reading:

If you want to work on programs at home, you may purchase MATLAB from the Campus Store (approx. $120).  However, the course staff is not responsible for helping you to work from home, including installing software and submitting labs.

 

Web Resources
All course materials will be available at: http://www.cs.cornell.edu/courses/cs99/2002su

You should get into the habit of checking your email and the course web page on a regular basis (at least once a day). For printing in the labs and checking your Cornell email, 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.
 

Exams
There will be two preliminary exams. 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
Homework
45%
Labs
7%
Quizzes
3%
Prelim 1
10%
Prelim 2
15%
Final Project
15%
Class Participation
5%
Total
100%

There will be 7 labs worth 1% each, and 9 homework assignments worth 5% each.  The final project may be thought of as a more difficult homework assignment.  Collectively, the labs, programming assignments, and final project are worth 67% of the final grade. The exams are worth 25% of the final grade.

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! 

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.