General Information

Course:  Cog212 "Principles of Programming"
Instructor:  Craig Graci
Office:  114 Snygg Hall
Telephone:  315.312.2690

Text: None

Course Description

The notion of "object" directs the discipline of programming presented in this course. The concepts of object state, object behavior, and object classification are threads which tie myriad ideas together. The Java programming language is, in the main, defined. It serves as the medium through which key ideas are introduced. The "smaller" isssues of message passing and control flow are discussed, as are the "larger" issues of abstraction, encapsulation, and hierarchy. Variables and typing, procedures and parameters are discussed. Functionality provided in specific java packages (especially, blue.io, and java.lang) is employed. Standard algorithms are presented. Problem solving strategies are articulated and exploited. Elements of the emacs text editor, the unix operating system, and the Coloured Clay programming language are integrally incorporated into the course.

Main Course Objectives

In this course you will:

Requirements

You are required to regularly attend class. You are required to take all exams. Beyond this, you are required to satisfactorily complete Laboratory Challenges and Programming Challenges. The Laboratory Challenges are to be done, for the most part, during your scheduled laboratory session. They will feature elements of emacs, unix, Java, and Coloured Clay. The Programming Challenges are to be written on your own using Java.

Grading

Your grade will be determined on the basis of:

Other Things

  1. All assignments for which submission is required must be handed in to me immediately after class in the room where this class regularly meets. All assignments must be presented in the form of an 8 1/2 x 11 inch document, bound on the left by three staples. Each must begin with a title page which includes your name, the number of the assignment, and a brief description of the assighment. Should you insist on turning in an assignment in any other manner (for example, by handing it to me personally, slipping it under my office door, placing it in my mailbox, asking another human to give it to me), the assignment will immediately be given the negative score of -100%.
  2. Requests to make up exams or assignments will rarely be considered unless accompanied by a written medical excuse for your absense.
  3. It is intended that you complete your work by yourself. You are, of course, welcome to ask specific technical questions of others and converse over conceptual issues, but you should be doing your own work. Compelling evidence that someone other than you contributed conspicuously to the completion of required work will result in a "maximum negative" grade for that assignment, failure in the course, or worse.
  4. As a rule I do not respond to email from students in this course. Consequently, questions concerning course content, operational aspects of the course, the status of your existence in the course, or anything else pertaining to the course will have to be addressed to me by more traditional means.