Introduction to CS Classes

Contact Information

Bruce Bolden

E-mail: bruceb@cs.uidaho.edu
Web: http://www.cs.uidaho.edu/~bruceb/
Office: JEB 220
Phone: Don't bother!

Office Hours:  Posted on web site
Tentative:  MTWTF: 1:30--3:30

Policies and Procedures

Grading

There will be numerous programming assignments. It is expected that students will do their own work on all components of the programs---unless otherwise specified.

Quizzes will normally be given every Thursday on the material covered since the last quiz. Knowledge of material presented in this class is cumulative!

The final grade will be calculated based on a weighted sum of the points accumulated in each of the categories:

Programs 25
Quizzes 20
Tests 30
Final 25

The course will be graded on the basis of 90% and above is an A, 80%--89% a B, 70%--79% a C, etc.

Cheating

Cheating on exams or homework will be heavily penalized.

Computer Usage/Misuse

Misuse of computers and files is a felony in the state of Idaho! See the University of Idaho Computer Use Policy document available from Computer Services for details.


Objectives

CS 112 Objectives

CS 113 Objectives

CS 213 Objectives


Expectations

CS 112 Expectations

CS 113 Expectations

CS 213 Expectations


Tips for Success

General

Programming Tips

Test Tips


General Program Components

Programs can be characterized by the following properties. (Some of them are interconnected.)

Documentation

Documentation may be broken into two categories:

  1. Internal
  2. External

The internal documentation of a program consists of comments intermixed with the program statements.

The external documentation associated with a program typically consists of one or more design documents (specifications) and a user manual.

Messages

Programs send messages (commands) back and forth both internally and potentially to other programs.

Variables

Strongly typed languages require all variables to be declared before they are used. The declaration specifies the type of the data that is/will be stored in the variable.

Decisions

Programs frequently need to make decisions based upon the values of one or more variables. These decisions affect the flow of control of the program.

Loops

Loops allow programs to execute some sequence of statements or instructions repeatedly.

Functions/Methods

Functions or methods allow a programmer to organize a sequence of statements into a unit that may be used many times. Functions/Methods may be thought of as means for passing messages within/between programs. The arguments given to a function typically affect the result of a function/method.

I/O (Input/Output)

I/O allows a program to process different data files, restore settings from a previous session, store results for different reports.

I/O can be done at many different levels:

I/O can be very difficult if the programmer doesn't understand the operations provided by the language being used or the actual/desired format of a data file.

Error Checking

Error checking is necessary to keep programs from performing an operation they cannot do (e.g., divide by zero). The task of error checking/handling is difficult and relies on all the other programming components.

User Interface

The User Interface is what the user sees. The interface can be very simple (e.g., command line oriented) or a very complex GUI (Graphical User Interface). Implementing a robust UI can be a very difficult task and relies on all other programming components and knowledge of the functions/methods to create/interact with the specific environment (e.g., Macintosh, Windows, X, or Java).