CSC 340 Algorithms
Winter 2017

Course Description

CSC 340 Algorithms (3.00)
Design and analysis of algorithms. Classification of algorithms by time and space complexity. Algorithm design techniques such as divide and conquer, the greedy method and dynamic programming. NP-complete problems and approximation algorithms. Introduction to parallel algorithms. Programming may be required. Not available for credit to students who have previous credit for CSC 440. Prerequisite(s): CSC 210; CSC 230; Junior standing or instructor consent.

Instructor Accessibility

My office is in Carnegie Hall 311 B. You can stop by in person, or call my office at 630-637-5174. If I am not at the office and you need immediate attention, you can call me at home at 630-759-2110. You can email me at gcmuganda@noctrl.edu. Winter term office hours are Mondays through Thursdays 5- 6:00 pm; Fridays 1:30-2:30pm.

I can also see you by appointment.

Course Textbook

The following text book is required:

S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms 2006.

The book is available for free download here.

Course Outline

This weekly schedule is tentative and is subject to change as the term progresses.

Chapter Course Topics Reference
1 Review of Lists, Sets, Maps, Java Stream API
2 Analysis of Algorithms Preface of Course Text
3 Dynamic Programming I Chapter 6
4 Dynamic Programming II, Greedy Algorithms I Chapter 6, 5
5 Greedy Algorithms II Chapter 5
6 Algorithms on Graphs I Chapter 3,
7 Algorithms on Graphs II Chapter 3, 4
8 Divide and Conquer Chapter 3,
9 Algorithms with Numbers I Chapter 1,
10 Algorithms with Numbers II; Course Review Chapter 1

Schedule of In-class Quizzes and Tests

All tests and quizzes will be on Mondays unless otherwise announced.

Class Event Date Percent Weight
Quiz 1 Week 3 5%
Test 1 Week 5 15%
Test 2 Week 8 15%
Final Exam Week 11 25%

In addition to the tests, there will be a number of homework/ programming assignments. These will account for 40% of the course grade. They will be designed to help you understand course concepts and prepare you for the in-class quizzes and tests. Some of the tests and quizzes may involve writing short programs based on the concepts covered in lectures and in the programming assignments.

Email Communication

All assignments and projects must be submitted via email using your College email account. and must have a subject that begins with CSC 340 Homework Submission, followed by the assignment or project being submitted. For example, CSC 340 Submission of Project 1, or CSC 340 Submission of Homework 3. When asking a question or requesting help via email, your subject must begin with CSC 340 Help: ... Using the proper subject in your email will help me prioritize responses.

Late Policy

All assignments and projects should be turned in by midnight on the day due. A 10% penalty will be assessed on projects turned in late, but in general this penalty will not be levied if the assignment is turned in before I have completed grading the batch of assignments to which it belongs. No assignment/project turned in after the due date for the next assignment/project will be graded. I will make an exception to this rule for students who have been coming to see me for help, where I judge that the student is reasonably close to getting the assignment or project done.

Policy on Missed Quizzes and Tests

In-class tests and quizzes missed without a legitimate excuse cannot be made up. If you have to miss quiz or test (for some legitimate reason) please let me know at least a week before and I will make arrangements for a make up. In the event some unexpected reason beyond your control prevents you from being in class on the day of a test, contact me as soon as possible by phone or email to arrange a make up.

Ethics Policy / Academic Dishonesty.

No student should turn in for grading work that has been done by someone else, or work on which they have received help but which they do not understand. Any work turned in by a student will be considered to have been plagiarized if the student can not explain it when requested to do so by the instructor. It will also be considered to have been plagiarized if there is clear evidence that the work has been copied from another source, even if the student can explain it.