Instructor: Brad Richards Lectures: TH 391 — MTThF 2:00-2:50 Phone: 879-3579 Email: brichards@ups.edu Office: Thompson 401 Office Hours: MTTh: 3:00-3:50, F: 1:05-1:50 and by appt. Tutors: Sun, Tue, Wed, Thurs 7-9:00pm; Mon 7-10:00pm in Th409
Week Topic Reading Assignment 8/31 Intro & Review TBA (from Ch. 2 & 3) Assignment 1 (soln) 9/7 More review
(No Class Monday)Chapter 2 & 3 9/14 Complexity Chapter 3 Assignment 2 (solns) 9/21 Design, ADTs Chapter 1, Chapter 4 9/28 Stacks Chapter 5 Assignment 3 (solns) 10/5 Queues Chapter 6 Exam Friday (old exam) 10/12 More Queues, Recursion Chapter 6, 7 Assignment 4 10/19 More recursion, Searching.
(No Class Mon, Tue)Chapter 7 10/26 Trees Chapter 8 Assignment 5 (solns) 11/2 Sets & Maps Chapter 9 11/9 Sorting Chapter 10 Exam Friday (old exam) (solns) 11/16 More Sorting Chapter 10 Assignment 6 11/23 Graphs
(No Class Th, Fri)Chapter 12 12/7 Slack 12/8 Wrap-up & review
Wednesday is last day
CSCI 261 satisfies the Mathematical Approaches category of the university's core curriculum by developing an appreciation of the power of Computer Science and formal methods to provide a way of understanding a problem unambiguously, describing its relation to other problems, and specifying clearly an approach to its solution. A student in this course will develop a variety of mathematical skills, an understanding of formal reasoning, and a facility with applications. Specifically, this course will provide the student with the ability to analyze a problem, to design a systematic way of addressing that problem (an algorithm), and to implement that algorithm in a computer programming language.
This course builds progressively on previously covered material. Therefore, it is essential to attend all classes and keep up with the reading and the assignments. Students are expected to attend all lectures, with exceptions permitted in case of illness and family emergencies, and should do the assigned readings before the relevent class. The assigned readings listed in the schedule are all from Objects, Abstraction, Data Structures and Design Using Java.
Students will be given homework assignments involving the design, implementation, and testing of computer programs of increasing complexity and sophistication. These assignments form a crucial part of the course, and students are required to work on them individually where specified. Collaboration with other students is not permitted on these individual assignments, and will be subject to severe penalties. I encourage you to interact with each other and discuss possible implementation approaches, but any sharing of code or other solutions will be considered cheating. Please review the Academic Honesty policy in The Logger and ask me if you have any questions regarding its application to this course.
Lectures will begin and end on time, so do your best to get to class before the start of the lecture. Use of cell phones is extremely disruptive — please remember to turn your phones off while in the classroom. Academic accommodations are available for students with disabilities who are registered with the Office of Disability Services. Please schedule an appointment with the instructor early in the semester to discuss any accommodations for this course which have been approved by the Disability Services Coordinator as indicated in your accommodation letter.