CS 311 Fall 2024 > Syllabus
CS 311 Fall 2024
Syllabus
COURSE: | CS 311 Data Structures and Algorithms. 3 credits. |
Time & place: | 1–2 pm MWF, 344 535 Duckering. |
Prerequisites: | CS 202. |
INSTRUCTOR: | Glenn G. Chappell, Dept. of Computer Science. |
Office: | 539 Duckering. |
Office hours: | 11:45–12:45 MWF,
2:15–2:45 MW
on fall 2024 class days,
or by appointment. |
E-mail: | ggchappell@alaska.edu |
TEXT: | There is no required text.
Readings will be provided by the instructor. |
WEB PAGE: | https://www.cs.uaf.edu/~chappell/class/2024_fall/cs311
UA Canvas will be used only for homework submission and online quizzes. |
Course Topics & Goals
CS 311 builds on CS 202. Emphasis is on writing robust, reliable, maintainable code to organize information (data structures) and work with it (algorithms), with minimal use of time and other resources (efficiency).
Topics: advanced C++, software engineering concepts, recursion, searching, algorithmic efficiency, sorting. Then data abstraction & structures: array, Linked List, Stack & Queue, trees, Priority Queue, Tables. Briefly, external data and graph algorithms.
Upon successful completion of CS 311, students are expected to:
- Have experience writing and documenting high-quality code.
- Understand proper error handling, enabling software components to support robust, reliable applications.
- Be able to perform basic analyses of algorithmic efficiency, including use of big-O and related notation.
- Be familiar with various standard algorithms, including those for searching and sorting.
- Understand what data abstraction is, and how it relates to software design.
- Be familiar with standard container data structures, including implementations and relevant trade-offs.
Important Dates
For more details, see the Semester Plan, on the class webpage.
Mon, Sep 2 | No class meeting (Labor Day) |
Fri, Oct 11 | In-class Midterm Exam |
Fri, Nov 1 | Last day to withdraw (“W” on transcript) |
Wed, Nov 27–Fri, Nov 29 | No class meetings (Fall Break) |
Fri, Dec 6 | Last regular class meeting |
Mon, Dec 9 | Final Exam 1–3 pm in the classroom |
Procedures
Class meetings—Lecture/discussion format with in-class activities.
Quizzes—Online quizzes will be given weekly, using UA Canvas. There will be a quiz due each Sunday at 5 pm, from Sunday, September 1 to Sunday, December 8, except for the Sunday after Thanksgiving (December 1). Each quiz will be available by 5 pm on the preceding Friday. No make-up quizzes will be given.
Homework—Assignments will be given every week or two, and will consist largely of C++ programming. Some assignments will be done individually; others may, at your option, be done in groups.
To do the coding, students must obtain access to a C++ compiler with support for the 2017, 2020, or 2023 ISO standard. Any version of a major C++ compiler that was released within the past year is acceptable. Appropriate compilers are available in the CS labs.
Exams—Two exams will be given: a Midterm and a comprehensive Final. See Important Dates.
Grades
Course grades will be based on points earned, using a 90-80-70-60 scale. The +/− grading system will not be used. Point totals will be as follows.
Assignments (total) | 510 pts |
Quizzes (total) | 140 pts |
Midterm Exam | 150 pts |
Final Exam | 200 pts |
TOTAL | 1000 pts |
Policies
Communication with the instructor outside of class will be via e-mail and the class webpage. Students are expected to check both their UA e-mail account and the class webpage daily during the semester.
Students are expected to be at every class meeting on time, and are responsible for all class content, whether present or not. If absence is necessary, then work (other than quizzes) may be made up only if the instructor is notified as soon as possible; in particular, absences due to scheduled events must be arranged ahead of time.
Students who fail to attend the first class meeting after registering for the class, or who miss four consecutive class meetings, may be dropped/withdrawn without warning, unless prior arrangements are made with the instructor.
Work turned in late will generally be penalized. Work submitted more than two weeks after the assignment due date will not be graded, except under exceptional circumstances and when prior arrangements have been made with the instructor. The week of Fall Break will not be counted in this two-week period. No graded work will be accepted after the end of the final exam period.
Academic dishonesty will not be tolerated, and will be dealt with according to UA procedures.
Students pay the CS lab fee. Payment allows access to the CS labs.
UAF academic policies: https://catalog.uaf.edu/academics-regulations
CS Department policies: https://www.cs.uaf.edu/departmental-policies