Great Ideas in Computer Science
CPSC3900 - Spring 2008

3:30-4:45pm Tues-Thurs, 103 Science

Instructor: Jim Jones
Office hrs: 11 a.m.-noon MWF and 1-2 p.m. TTh other times as available
Office: 100 Science Bldg. (Phone x5294)

Text: To be announced (books on reserve, handouts, etc)

Course Description:
This course will cover a variety of classic algorithms, methods, and ideas that are encountered in computer design, computer architecture, programming language translation, software engineering, and other areas of computer science. They are the most important ideas from a broad range of the discipline, ideas that every computer scientist should encounter. The focus will be on ideas that are given little, if any, attention in the current computer science course requirements.

Course Schedule:
The pace of this course depends somewhat on the nature of the class, class discussion, and unplanned circumstances. Readings, programming assignments, and exams will be announced in class. Here is a tentative list of topics I hope to touch on to some extent in this course:

  Computer Logic and Architectures   Data Structures, Coding,
and Translation
  Software Engineering
Base-2 and the ALU
Karnaugh-Maps
Quine-McCluskey Method
Flip-flop memory circuits
Von-Neuman Architecture
Microcoded Firmware
Nanomemories
Test and Set & Swap ops
Pipelined parallelism
Hamming Codes
Huffman Codes
Hash Arrays
Quad-Trees in Graphics
finite-state machines
translation algorithms
language <-> machine relation
basic blocks in optimization
Observations on GOTO
Structured programming
Structured design
Coupling vs cohesion heuristics
Other tools and heuristics

E-mail Communication:
I expect you to check your Graceland email account frequently since I may send notices and updates to your Graceland email. My email address is jsjones@graceland.edu. My MSN address is the same as my Graceland email, with screen name of iJimJones.

Class Web Site:
I set up a class website at http://csit.graceland.edu/~jsjones/cpsc3900 but I do not expect to maintain it with much more than this syllabus. Announcements will be made in class or by email.

Grading:
My objective in grading is to be fair and predictable by assigning points to assignments, projects, and exams that reflect their value relative to others. You can determine your grade at any point by dividing the total points earned by the total points possible to compute your average, and then subtract any absense/tardiness penalties.
A: 90% and above B: 80% and above C: 70% and above D: 55% and above F: below 55%

Attendance:
In this course attendance is absolutely critical because the lectures are the primary source for course content. Each absence results in a 2% drop in your grade unless it is excused, which means that you can make it up by doing a special assignment. Attendance, promptness and participation are expected by me. If it is impossible to make some class that you know about in advance, let me know as soon as you know so that we can consider how best to handle it (perhaps by asking the class for a possible change in time that week).

Final Exam:
Thursday, May 15, 2008, from 3-5 p.m.
Mark your calendar NOW since there is a strict Graceland policy on final examinations. Only those having three or more finals on the same day can seek changes. You can go to http://csit.graceland.edu/~jsjones/finals to determine all your final exam times to see if you will face this and need to talk with your teachers.

Late Work:
Turning something in late is better than never, however I expect homework to be turned in on time so that I feel free to discuss the answers. Once I do so, it is unfair to give full credit on late work. I plan to adopt a 5% penalty per day beyond the deadline date.

Resubmission of Work:
I do not accept resubmitted assignments nor allow students to retake examinations as a way to better one's score. However, I reserve the right to ask particular students to do so if, in my judgment, it is expedient and convenient to do so.

Classroom Civility/Courtesy:
Checking email and engaging in electronic chats are inappropriate during any class or computer lab session. They constitute lack of participation.

It is rude and disruptive to come late or leave early. If you need to do so, please inform or ask me beforehand.

Turn off cell phones and beepers during class and exams. If you need to be available by such means, please talk to me beforehand.

Hats are not to be worn during exams. Place notes, bookbags and other materials on the floor or out of sight during an exam.

Civility is expected of all members of the class. Anyone who is disruptive or argumentative may be asked to leave, in which case we can discuss things in private prior to the next class to avoid problems.

Plagiarism and Cheating:
So much of what we do is electronic in nature, easy to transmit and copy. Take special care to stay honest when seeking help and facing a deadline. Protect your work from those who might copy it and do not get so involved in helping someone that you are merely doing their work (an easy trap to fall into). When in doubt about what is appropriate, ask me. See also the Graceland policy on academic integrity.

Disabilities:
Any student who, because of a disabling condition, may require some special arrangements in order to meet course requirements should contact the instructor as soon as possible to make necessary accommodations.