The following is our tentative syllabus for the course, some small changes should be expected throughout the semester. I will announce in class or through e-mail any major changes.
Acquire the Course Monorepo by clicking here Do not do a 'git pull' until class officially starts (Occasionally I make changes/spelling corrections)
Module | Date | Topic | Assignments | Note(s) |
---|---|---|---|---|
1 | Thursday, Jan. 10, 2019 |
|
||
2 | Thursday, Jan. 17, 2018 |
|
||
3 | Thursday, Jan. 24, 2019 |
|
||
4 | Thursday, Jan. 31, 2019 |
|
||
5 | Thursday, Feb. 7, 2019 |
|
||
6 | Thursday, Feb. 14, 2019 |
|
||
7 | Thursday, Feb. 21, 2019 |
|
||
8 | Feb. 28, 2019 and beyond | See you in CS 5007 Systems (new room, new topic, you keep your same instructor :) |
Welcome to an introductory course in Algorithms! This course is a hands on teaching of the fundamentals of Algorithms. The fundamentals of algorithms includes how to write an algorithm, analyze an algorithm, and compare the performance of algorithms. In this class, we use the 'C' programming language (for which an introduction will be given), as our tool for implementing algorithms and data structures. Our other tools are pencil & paper, a text editor, and git. The expectation is that you have not previously programmed in the C programming language, but have previously programmed in some other language.
Registrar Description: Introduces the basic principles and techniques for the design and implementation of efficient algorithms and data representations. Considers divide-and-conquer algorithms, graph traversal algorithms, linear programming, and optimization techniques. Covers the fundamental structures for representing data, such as hash tables, trees, and graphs.
By the end of this course, you will be ready to:
There will be no required textbook for this course. However, these resources have been vetted, and I recommend for mastery (while taking this course, and reviewing later on in your career).
Students and instructors are to follow the Northeastern policies on these important issues.
Students participating in varsity athletics(this does not include club sports or intramurals) or other University sanctioned events may have the need for a make-up. Please contact me in advance of such events, so that appropriate accommodations can be made.
Occasionally, other life events and circumstances occur that were not planned. If this is the case, please e-mail me privately.
E-mailing me asking for extensions just because is unfortunately not fair to your classmates. The 10% penalty for each day late has to be enforced so I do not get taken advantage of.
Part of what makes Northeastern University unique, is our diverse cohort of students, faculty, and staff. In order to support this, Northeastern is committed to providing equal access and support to all qualified students through the provision of reasonable accommodations so that each student may fully participate in the University experience. If you have a disability that requires accommodations, please contact the Student Accessibility Services office at DRC@northeastern.edu or (617) 373-2675 to make an appointment with the Disability Resource Center representatives in 20 Dodge Hall to determine appropriate accommodations.
Students who do well in this course tend to show up to the course consistently, participate, and engage with their peers. Come to class, come on time, and build good habits! In-Class activities that are not attended are a zero.
Please find below the grading distribution that will be used for this course to compute a weighted average for your final grade. You will find the grade you earn in this course on blackboard.