CSCI 1300 Computer Science 1: Programming
Fall 2005
Karl Winklmann
 

  1. Schedule of events ...

    On Monday, November 28, John Black will talk about cryptography.

    Also on Monday, November 28, at the end of class we will do the faculty course questionnaires.

    On Wednesday, November 30, Rick Han will talk about sensor nets.

    On Friday, December 2, and on the subsequent Monday and Wednesday, we will do project demos. I'll have signup sheets.

    Posted: Wednesday, November 23, 2005

 

 
 

CSCI 1300 Home page

 
 
 


Contents | Schedule and syllabus | Grading policy | News archive | Programs | ~main/cs1300/doc/bgi

This page is on the web at www.cs.colorado.edu/~karl/1300.fall05. Programming examples, including demo programs from class, are at www.cs.colorado.edu/~karl/1300.fall05/Programs.

Staff

Instructor

Karl Winklmann, ECOT 725, karl@cs.colorado.edu, phone 303-492-6380. Office hours Monday 2:10-2:50, Tuesday 12:45-1:30, and Friday 2:10-2:50. Feel free to make appointments at other times (email works best for making appointments). For short questions, it is probably most convenient to catch me before or after class in the classroom.

Teaching Assistant

Ben Pearre. Email: bwpearre@alumni.princeton.edu.

Hours:

        Thursday  10:00- 1:00 in ECCR 239
                   2:30- 3:30 in ECCS 128
                   5:00- 6:00 in ECCR 239
        
        Friday    10:00- 1:00 in ECCR 239
                   2:30- 4:00 in ECCS 128

The hours on Thursday 2:30-3:30 and Friday 2:30-4 are not in a Windows lab and hence best suited for more general questions than finding specific problems in your programs.

Textbook

Walter Savitch, Absolute C++, Second Edition, Addison Wesley.

Computing environment

We will use “GNU Windows 32 Tools with a BGI graphics library.” This is available in the labs and can also be downloaded to a Windows machine if you like. It is free. Download information is at www.cs.colorado.edu/~main/cs1300/README.html.

Backing up your work

You need to keep backup copies of your work. Be paranoid.

Schedule and syllabus

  Week Class topics, reading assignments, sample programs Recitations Programming Assignments + Project

1. August 22/24/26 Overview of course
Basics of C++ (Chapter 1)
HelloWorld, Fireworks
Logistics Assignment 1 posted.
2. Aug 29/31, Sept 2 Flow of control (Chapter 2) Working on Assignment 1
3. September 7/9 Function basics (Chapter 3) Finishing Assignment 1 Assignment 1 due Friday, September 9
Assignment 2 posted.
4. September 12/14/16 Parameters and overloading (Chapter 4, Sections 4.1 and 4.2) Working on Assignment 2
5. September 19/21/23 Arrays (Chapter 5), mouse, icons, buttons. MousePlusPlusPlus, 2DArrayPlus Finishing Assignment 2 Assignment 2 due Friday, September 23
Assignment 3 posted.
6. September 26/28/30 Examples, questions, project ideas (no new material) Working on Assignment 3
7. October 3/5/7 Structures and classes (Chapter 6)
Separate compilation (Section 11.1)
BouncingBallsAndSliderbars
Finishing Assignment 3 Assignment 4 posted.
8. October 10/12 (Fall Break on October 13 and 14) Arrays of objects; constructors, friends, operators (Section 7.1 and Chapter 8 through page 335) Working on Assignment 4 Assignment 3 due Tuesday, October 11 (moved from Friday, October 7)
9. October 17/19/21 Constructors, friends, operators, continued Working on Assignment 4
10. October 24/26/28 Strings and file I/O (Chapter 9 and Section 12.1) Finishing Assignment 4
11. Oct 31, Nov 2/4 Recursion (Chapter 13)
Pointers and dynamic arrays (Chapter 10)
Finalizing project description Assignment 4 due Tuesday, November 1 (moved from Friday, October 28)
12. November 7/9/11 Various useful things: command-line parameters, exception handling, inheritance Working on Project Project description due Tuesday, November 8 (moved from Thursday, November 3) (The completed project itself is due later, see below.)
13. November 14/16/18 Various useful things, continued: templates, the Standard Template Library Working on project
14. November 21/23 November 21: TBA
November 23: Special topic (not normally CSCI 1300 material).
Finishing project
15. Nov 28/30, Dec 2 Course evaluation (Monday, November 28)
Demos
Project demos Project due Friday, December 2
16. December 5/7 Demos, continued Project demos
   There will be no final exam.

Points and grades

Grading is based entirely on the programming assignments and project. There are no exams.

Points are earned in these categories:


  Use of these language features (some of which will have
      to be done as part of the four assignments):

      Keyboard input, text output ........................   40 (Assignment 1)
      Functions, parameters ..............................   40 (Assignment 2)
      Graphics ...........................................   40 (Assignment 2)
      Mouse handling .....................................   40 (Assignment 3)
      Arrays .............................................   40 (Assignment 3)
      Classes and objects
          Constructors ...................................   40 (Assignment 4)
          Input and output operators .....................   40 (Assignment 4)
          Member functions and operators .................   40 (Assignment 4)
      User-defined operators .............................   40 (Project)
      Dynamically allocated arrays .......................   40 (Project)
      File I/O ...........................................   40 (Project)
      Command-line parameters ............................   40 (Project)
      Exception handling .................................   40 (Project)
      Use of library classes .............................   40 (Project)
 
  Useful comments, meaningful variable names, indentation
        that follows the syntax of the language ..........   40 (Project)
 
  Being able to explain all the workings of your program
      and make small modifications quickly in the lab ....  100 (Project)
 
  Sophistication of your project .........................  300 (Project)
  _______________________________________________________________
                                            Total .......  1000

   Turning an assignment or the project in late .........   -20 per day


There is no extra credit work.

Getting 900 or more points guarantees you an A, getting 800 or more points guarantees you at least a B, getting 700 or more points guarantees you at least a C, getting 600 or more points guarantees you at least a D, getting less than 600 points will get you an F. +/- grades will be given to raise some grades.

Collaboration

You are very much encouraged to collaborate, to explain things to each other and help each other get over any problems. But you must write your own entire program. There is one exception to this rule: you may copy/modify/use code that is posted on the course web site.

Disabilities

If you qualify for accommodations because of a disability, please give me a letter from Disability Services so that your needs can be taken care of.

Religious observances

If there is a conflict between a religious holiday and the class schedule please let me know beforehand. For reference, here is the campus policy on this matter.

Other university policies

Please acquaint yourself with the following pages ...  


© 2005 Karl Winklmann 6:17 PM, Wednesday, November 23, 2005