Root View: Course Components |
Syllabus
|
The course syllabus establishes course
policies on grading, attendance, and exams.
The syllabus should be read in detail at beginning semester. |
Calendar
|
The course calendar provides a detailed temporal view of the course,
including lecture coverage, assignments, and due dates.
The calendar will be updated regularly. |
Notes Index
|
Lecture notes are in a variety of formats: (a) a slide show with an accompanying
narrative (click "Narrative on" to see the narrative, click "Frames[Windows]" to
toggle between displaying the narrative in
a separate frame or a separate resizeable window.) (b) a flat html or pdf document suitable
for detailed reading. These notes provide a compact
view of the important topics. They also serve to ground the text
material in a real programming environment. Lecture slides and other documents
will be created and updated "on the fly" during the semester, so you should visit them regularly. Report
bugs/corrections in the appropriate Canvas discussion forum.
|
Projects
|
Programming assignments ("Projects") are
intended to be total learning experiences, not merely
grade-earning opportunities. The assignment documents in particular are used to
elaborate on topics and introduce new ones. The content is of
equal importance with the lecture notes. Programming assignments will be released through the calendar.
Programming assignments will be assessed using the policy described
here.
Note there is a 5-day grace period for programming assignments.
We expect polished, thoughtfully prepared work and will assess accordingly. Note
that a work log is expected for each programming assignment.
Programming assignments account for 250 points (25% of the course grade).
Note that deadlines for programming assignments are subject to rules
explained here.
submissions received after the grace period ends will not be graded.
|
Problem Sets
|
Non-programming assignments ("Problem Sets") are intended to provide thoughtful
experiences above the level of cmputer code. Reading and researching is
encouraged and may be required.
Deadlines for problem sets are strictly enforced -- there is no grace period
and solutions will be distributed immediately after the deadline.
Note that quizzes and problem sets together account for 250 class
points (25% of the course grade).
Required format for submitted written assignments is described
here.
Note that deadlines for quizzes
and written homework are firm. Late submissions will be rejected.
|
Quizzes
|
Quizzes may be given for some topics that are computational in
nature. Note that quizzes and problem sets together account for 250 class
points (25% of the course grade). Note that deadlines for quizzes
and written homework are firm. Late submissions will be rejected.
|
LIB |
The course code distribution library LIB = /home/courses/cop4531p/LIB |
DEV |
The course coding environment consists of: C++ ISO 11 (or higher),
the gnu compiler g++ on the linprog servers, gnu make, and a text editor such as
emacs or vi. Access the linprog servers using the departmental licensed
Tectia ssh client. All submitted projects should build error and warning free with the g++
flags -Wall -Wextra. (See the macros c4531 and co4531 for example compile commands.)
|
FSU LMS
|
The FSU Learning Management System Portal (Canvas), where you will find this course. The course site
is the main communication resource for the class. Here you can get help, talk to
other students, retrieve your grades, and generally keep up with course news and
announcements. |
Students helping students |
Policy on students helping students. PLEASE NOTE: students may help other
students in a LMS forum or a designated classroom. Any other form of
help, whether using email or an external facility such as "slack", is a
violation of the code of conduct for this class.
|
Textbook
|
The textbook for the course is
Cormen, T.H., et al, Introduction to Algorithms (3rd ed.), MIT Press,
2009 (ISBN 978-0-262-03384-8).
The textbook provides many details
and extra material not covered directly in the notes, as well as a more
mathematical treatment of algorithms. Reading and understanding the assigned
portions of the text is essential for deeper understanding of many topics in the course.
Report bugs/corrections in the appropriate LMS discussion
forum.
|
Office
|
Schedule, office hours, and contact information for Chris Lacher
|