EECS 233 is an introductory course in computer science. Its primary objective is an introduction to various methods of organizing large amounts of data, and basic analysis of algorithms that use these methods. The course will cover linked lists, stacks and queues, hashing, searching and sorting, some trees and basics of graphs. Simple analysis of algorithms are also required for hashing, searching, sorting, etc. Java or C++ programming languages will be used for lectures and assignments.
ENGR 131, knowledge of Java or C++ programming.
Only one of the following two books:
(Preferred) Data Structures and Algorithm Analysis in Java (Second Edition), by Mark Allen Weiss, Addison-Wesley, ISBN: 0-321-37013-9, 2006.
Data Structures and Algorithm Analysis in C++ (Third Edition), by Mark Allen Weiss, Addison-Wesley, ISBN: 0-321-44146-X, 2006.
Instructor: Shudong Jin (Email: jins@case.edu)
Lecture time: Tuesday & Thursday, 1:15-2:30pm; Location: CLPP 108
Office hours: Tuesday & Thursday, 2:30-4:00pm; Office: OLIN 502
Teaching assistants: TBA
Lectures will be given twice each week. Students are required to attend the lectures and to be responsible for all the materials covered in class. Classes missed due to reasons other than medical conditions may not be made up. Prior experiences show that students regularly attending lectures usually perform much better in the exams than those who do not.There will be four programming assignments that involve various data structures. The students will have two weeks to complete each assignment. Students should use electronic submission. We will use software system to detect code copying. Assignments are usually due before mid-night on the due day. Late submission of assignements is acceptable (if no more than three days after the due day), but the grade will be discounted 10% per day.
There will also be four written programming assignments. The students will have one week to complete each assignment. Late submission policy, same as that for programming assignments, will be enforced too.
There will be one midterm exam to be held in mid-October, and one final exam. There will be a quiz (or short exam) too during the second half of the semester. The purpose of this quiz is for the instructor to better know the progress of the class (so that the final exam will be more appropriately designed).
Programming assignments: 25%
Written assignments: 15%
Midterm exam: 20%
Quiz: 10%
Final exam: 30%