CS 311 Fall 2020  >  Syllabus


CS 311 Fall 2020
Syllabus

COURSE:   CS 311 Data Structures and Algorithms. 3 credits.
  Time & place:   1–2 pm MWF, via videoconference (Zoom):
https://alaska.zoom.us/j/91722077564 (passcode distributed via e-mail);
a video of each class meeting will be posted on UA Blackboard Learn within 2 hours of the end of class.
  Prerequisites:   CS 202.
INSTRUCTOR:   Glenn G. Chappell, Dept. of Computer Science.
  Office hours:   No face-to-face office hours during fall 2020; private Zoom sessions are available by appointment.
  Office phone:   [474-]5736. E-mail is preferred to phone calls.
  E-mail:   ggchappell@alaska.edu
TEXT:   There is no required text.
Readings will be provided by the instructor.
WEB PAGE:   http://www.cs.uaf.edu/~chappell/class/2020_fall/cs311
UA Blackboard Learn will be used only for project & exam submission, videos, 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 should:

Important Dates

Also see the Semester Plan, on the class webpage.

Mon, Sep 7   No class meeting (Labor Day)
Fri, Oct 9   No class meeting; Take-Home Midterm Exam due 5 pm
Fri, Oct 30   Last day to withdraw (“W” on transcript)
Wed, Nov 25–Fri, Nov 27   No class meeting (Thanksgiving)
Fri, Dec 4   Last regular class meeting
Wed, Dec 9   No class meeting; Take-Home Final Exam due 2:15 pm

Procedures

Class meetings—Lecture-discussion format, via videoconference. Students may attend class synchronously, by going to the class-meeting Zoom site at class time, or asynchronously, by watching a video of the class meeting. The video will be posted on UA Blackboard Learn within 2 hours of the end of class. Students attending asynchronously are expected to view each class video within 24 hours of its posting,

Quizzes—Frequent quizzes will be given online, using the UA Blackboard Learn site. These will be announced on the class webpage at least 48 hours before the due date. No make-up quizzes will be given.

Projects—Projects will be assigned every week or two, and will consist largely of C++ programming. Some projects will be done individually; others may be done in groups. Projects turned in late will generally be penalized. Homework submitted more than two weeks after the project due date will not be graded, except under exceptional circumstances and when prior arrangements have been made with the instructor. No graded work will be accepted after the end of the final exam period.

To do the coding, students must obtain access to a C++ compiler with support for the 2017 ANSI 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 take-home exams will be given: a Midterm and a comprehensive Final. Both will be open-note exams. 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.

Projects (total)   480 pts*
Quizzes (total)   250 pts*
Take-Home Midterm Exam   120 pts*
Take-Home Final Exam   150 pts*
TOTAL   1000 pts*

*At the end of the semester, the total points possible on quizzes may differ from this. Quiz scores will be scaled accordingly, so that the total is as stated above.

Policies

Students are expected either to attend each class meeting synchronously or to view the class-meeting video within 24 hours of its posting, to do all assigned readings promptly, and to turn in all projects.

Students who fail to turn in any one of the first four projects by two weeks after its due date may be dropped/withdrawn from the class without warning, unless prior arrangements are made with the instructor. (Code involved in projects is not considered to be turned in unless in can be compiled and executed with a provided test program.)

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: http://catalog.uaf.edu/academics-regulations
CS Department policies: http://www.cs.uaf.edu/departmental-policies