Csc241 "Data Types"
Course Syllabus for Summer 2006
|
|
|
|
Course: Csc241 "Abstract Data Types and Programming Techniques"
Instructor: Craig Graci
Text: None
Office: 114 Snygg Hall
Telephone: 315.312.2690
Course Description
This is a second course in Java programming. The course features concepts and constructs associated with interactivity, datatypes, algorithms, and interpreters--all within the object-oriented model of programming on which Java is based. Interactivity will be introduced via a graded sequence of programs which introduce Java components and event-driven programming. Data type specification and implementation will dominate much of the course. Lists and trees will be prominant among the data types presented for programming and discussion. Algorithm design and analysis will play a key role in the course, particularly in support of data type implementation. The theme of interpretation will emerge as a side effect of writing a number of very modest interpreters throughout the semester.
Main Course Objectives
Upon successful completion of this course students will be able to:
- become acquainted with Java components and to become able writers of component-based Java programs.
- understand event-driven programming in Java.
- write programs which implement and use linear lists and the most popular forms of restricted linear lists, including stacks and queues.
- write programs which implement and use trees, especially binary trees and their most significant specializations.
- design and analyze a wealth of algorithms, with emphasis on searching and sorting.
- program simple recognizers and interpreters.
Requirements
You are required to regularly attend class. You are required to take all exams. Beyond this, you are required to satisfactorily complete all assigned Java programming challenges, and demonstrate your working programs to me.
Grading
Your grade will be based on the following activities:
- Three examinations. The first two exams will each be worth 100 points. The third (final) exam will be worth 150 points.
- Programming challenges, collectively worth 150 points.
- Class attendance, 220 points.
Other Things
- Requests to make up exams or assignments will not be considered unless accompanied by a written medical excuse for your absense.
- 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.
- As a rule I do 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.
- Although no text is required for this course, you may wish to consult lots of resources, including: your CS1 book and other books on Java programming; various books on data structures and programming techniques; Web sites relating to topics, tools, and techniques which are addressed in the course.