CS 6363.003.21S — About this Course


CS 6363 is a course in the design and analysis of computer algorithms. By the end of the course, we expect that you will have

The official course syllabus can be found here. All policies from both the syllabus and website apply, but if there is a contradiction, then the syllabus takes preference (but do email Kyle so he can fix the issue!).

Announcements and updates to the schedule including recommended reading will take place on the main course webpage. Kyle will also make announcements on eLearning.

Live and recorded lectures as well as office hours will take place on MS Teams in appropriate channels within the "CS 6363.003 2212" team. Please email Kyle if you need an invite. Everybody is also encouraged to chat about lecture topics and homework, including asking questions with each other or Kyle in appropriate channels within teams. However, see below on the policies regarding collaboration for homework.

Additional details on the course and its policies are given below. Do make yourself familiar with them to avoid confusion later. And be sure to carefully read the writing policies and advice so Kyle and the TA can fairly grade you for the work you do on the homework.

This section of the course is intended for students planning to take the Algorithms QE. While I won't assume prior knowledge beyond the prerequesites common to all sections of CS 6363, I do want you to gain skills in designing and analyzing algorithms beyond a baseline understanding of the process. You'll likely find things more difficult relative to other CS 6363 sections, especially with the homework.

Welcome! I hope you find this course both interesting and useful.


Reading

Most of the lectures will be based on the excellent lecture-notes-turned-textbook of Jeff Erickson available here. The standard "required" textbook for CS 6363 sections is Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: Introduction to Algorithms, 3rd Edition. MIT Press 2009, often referred to as CLRS. I will also pull examples and proofs out of CLRS, but I will not follow it too closely. That said, the more you read outside of lecture, the more examples and details you will see, and hopefully your reading will lead to a deeper understanding of the class material. I will always write out homework problems instead of just pointing you to the textbook.


Grading

Your grade will be determined by a combination of homework, two midterm exams, and a cumulative final exam. Your grade will be determined by a weighted sum of these items as shown below.

Grade cutoffs will be determined by looking at the distribution of scores in the class. However, there is no fixed curve. If everybody performs well, then everybody can get top grades. Students are highly encouraged to talk to Kyle to get a better idea of where they stand before considering dropping the course.


Homework

Kyle will release four or five homework assignments throughout the semester. Student must request extensions for homework they need to turn in late. Extensions of up to 48 hours will be automatically approved. Longer extensions may be approved at Kyle's discretion based on the circumstances involved. These are difficult times, so please don't be afraid to ask.

Collaboration and submission

Homework assignments can be done individually or in groups of up to two students and turned in via eLearning. Since eLearning is not well-equipped to handle group submissions, a single member of each group should turn in their assignment, and we'll make sure everybody in the group gets the same score for the submission.

Clearly write your name, the homework number, and the problem number at the top of every page. For example, you might write "Lester Ford and Robert Tarjan, HW0 #2". In addition, start each numbered homework problem on a new page so Kyle doesn't miss any problems while grading.

We hope you will put in an honest effort to solve each homework problem without having to rely on resources outside of the course material. However, I also want to give you the opportunity to discuss class material with students outside your group and access other kinds of outside help as needed. If you use a solution from an outside source, such as a web page, a journal paper, a different algorithms textbook, or your mom, or if choose to work with students from the class outside your group, then you must rewrite the solution in your own words, and you must properly cite your source. Do not forgot to rewrite in your own words; the goal here is not to show Kyle what you found outside the course material, but to convince him that you actually understand it yourself. You may assume knowledge of the official course material or prerequisites without citation, but nothing else. Failure to cite other sources or failure to provide solutions in your own words, even if quoting a source, is considered an act of academic dishonesty, and Kyle will report suspected violations to the Office of Community Standards and Conduct.

A correct solution based on a cited source and written in your words is still worth full credit. When in doubt, cite your source! (That said, now would be a good time to mention that many of these course policies and the writing advice given here are taken from algorithms course websites by Jeff Erickson and Erin Wolf Chambers.)

There may be websites out there that offer solutions to some of the problems in the homework. Be very careful with these sites. The solutions are sometimes incorrect, and in cases where they are correct, they don't offer a full or understandable justification for what they are doing. If you find yourself frequently relying on outside sources, then you may not be putting enough effort into learning computational topology yourself, and your ability to use it outside the class will suffer.

Regrades

Requests for regrades should be done within one week of an assignment or exam being returned. Please be considerate of whether your request is legitimate. All regrade requests must include an explanation of why you feel you were graded incorrectly. Regrade means regrade, so your score may actually decrease.

Extra credit

We may occasionally offer opportunities to gain extra credit by solving additional challenging problems or doing other relevant work. However, these opportunities (if any) will be rare, and you should not depend upon them to get the grade you desire. The final grade cutoffs will be determined before taking extra credit into account, so these opportunities will only help and never hinder students. The citation policy does not apply here. You must do extra credit work on your own.


Exams

Exams this semester will be administered via eLearning. If you know about a conflict with the scheduled exam dates, please inform Kyle at least one week in advance so we can set a conflict exam time. Makeup exams for unexpected conflicts will be scheduled if you have a documented medical excuse. If you have or feel you may have a disability that requires a reasonable accommodation in how I structure or administer an exam, please consult with and get written documentation from the Office of Student AccessAbility (OSA) at least one week in advance of the exam.

Exams are closed book, and no other sources, collaboration, or cheat sheets are allowed.

Mastery of the material is more important than mere memorization and regurgitation of facts presented in lecture. When studying for exams, put extra emphasis and practice time into learning how to design and analyze algorithms (the name of the course!). These skills are absolutely necessary if you're planning to take the QE.