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: M W F: 1:30--3:00
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 on exams or homework will be heavily penalized.
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.
structs
if(), switch)
Programs can be characterized by the following properties. (Some of them are interconnected.)
Documentation may be broken into two categories:
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.
Programs send messages (commands) back and forth both internally and potentially to other programs.
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.
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 allow programs to execute some sequence of statements or instructions repeatedly.
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 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 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.
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).