CSCI 232: Data Structures and Algorithms
Spring 2022
Schedule subject to change. Refresh webpage (or hit F5) to view current page.
Baby Watch - 2022
Due to a baby arriving early this semester, I will almost certainly have to cancel or have guest lectures for a couple classes when it arrives.
Lecture
- Tuesday, Thursday 10:50 - 12:05 in Romney 306.
- Lectures will be video taped and put on this website.
Instructor
Sean Yaw
- E-mail: sean.yaw (at) montana.edu (email me whenever, I'll respond as soon as I get it)
- Office: Barnard Hall 360
- WebEx: link
- Office Hours (in my office and on WebEx): Tuesday and Thursday 9:00 - 10:30 am and by appointment.
TAs
Brad McCoy
- Labs: 10:00 - 11:50, 12:00 - 2:00
- Email: bradleymccoy (at) montana.edu
- Office Hours: Tuesday, Thursday 9:50 - 10:50 in Barnard 259
Asad Noor
- Lab: 2:10 - 4:00
- Email: mdasaduzzaman.noor (at) student.montana.edu
- Office Hours: Wednesday 10:00 - 12:00 in Barnard 259
Textbook
- Algorithms (4th Edition) by Sedgewick and Wayne.
Course Prerequisites
- CSCI 132: Basic Data Structures and Algorithms
Course Objectives
MSU course description: Advanced data structures and programming techniques and their application. Topics include: trees, balanced trees, graphs, dictionaries, hash tables, heaps. Examines the efficiency and correctness of algorithms. The laboratory uses Java. CSCI 246 is recommended as a prerequisite
At the end of the course, my goal is for you to be able to:
- Independently design, write, and test programs of moderate complexity.
- Identify the tradeoffs of various data structures and make a defensible decision as to which one(s) to use for a given problem.
- Be able to formally detail the performance of an algorithm and identify the factors limiting that performance.
Labs
Labs will be posted on Tuesdays nights and will be due on D2L/Brightspace by the start of class the following Tuesday. You will not need to attend lab in person unless the assignment requires you to.
Grading
- Labs - 40% (evenly weighted with two lowest dropped).
- Projects - 40% (evenly weighted with no drops).
- Quizzes + Final - 20% (evenly weighted with lowest dropped).
At the end of the semester, grades will be determined (after any curving takes place) based on your class average as follows:
- 93+: A
- 90+: A-
- 87+: B+
- 83+: B
- 80+: B-
- 77+: C+
- 73+: C
- 70+: C-
- 67+: D+
- 63+: D
- 60+: D-
- 0+: F
Late Policy
If you submit a Lab late, but within 12 hours of being due, the maximum credit you can receive is 50%. After 12 hours, you receive 0. If you submit a project late, but within 24 hours, the maximum credit you can receive is 70%. After 24 hours, you receive 0.
Collaboration Policy
- Labs are to be done individually.
- You may do projects in groups of up to four people. You must indicate on the submission everyone that contributed. If someone did not substantially contribute to a submission, they cannot be included on it. Only one group member should submit the assignment.
- Exams are to be taken individually.
- You may not copy or modify solutions that are not your own (e.g. from the Internet, from a classmate not listed as a contributor,...) for any graded material. I know how to use the Google and I have a Chegg membership. If you find it, I will too!
Failure to abide by these rules will result in everyone involved being reported to the Dean of Students and could result in failing the course.