Computer Science 460
Algorithms and Their Analysis

Last updated: 8/22/2024

Here's a link to our first homework assignment, which we'll discuss during Monday's class. This first assignment is due on 9/5/24; I'll grade it quickly (before the drop/add deadline), so you can use the results as a self-check of your prerequisite mastery.

For people who are not currently enrolled but think they might add this section before the drop/add deadline, turn in the homework and I'll grade it for you as well. (I don't accept late homework, so meeting the deadline of 7pm on 9/5/24 is the only way to avoid a zero on the first homework.

Here is a downloadable text file containing some lecture notes pertaining to Chapter 1. [Print this if you need a little more time to purchase the Lecture notes from Cal Copy ($13.50, see below).]

Syllabus Information:

I don't expect to use the Canvas website very much for this class. [Not-yet-registered students are welcome to email me at carroll@edoras.sdsu.edu , since it may be a while before we get the waitlist situation sorted out. That will help me ensure you get all the announcements that the enrolled students are getting.]

Required Text:
Computer Algorithms: Introduction to Design and Analysis, Sara Baase and Allen Van Gelder (Third Edition) ISBN: 0201612445
The book is out of print, and most used copies are in the hands of people who intend to keep it. The authors definitely want the book available, so you can download a complete copy for free at https://edoras.sdsu.edu/~carroll/CS460Baase.pdf
If you prefer an actual physical book, used copies can be purchased here. At of 8/22, there are several available for under $15.
For a few students, opting out of SDSU's 'Equitable Access' might make sense. See here for the bookstore's rules about this.
Required Notes:
A collection of lecture notes to supplement the text material presented in class. Available at Cal Copy (6367 Alvarado Court #104, 619-582-9949)

Course Content:
Algorithm analysis, induction, recursion and recurrence relations, sorting and selection, graph algorithms, introduction to NP-completeness and approximation algorithms.

Prerequisites:
CS310 (Data Structures) and Math245 (Discrete Mathematics). You must know the material in these courses, and the courses they depend on (e.g., Calculus), or you will be lost.

Grading:
Most assignments (collected approximately weekly) will involve mathematical analysis, and hence be turned in much as you would in any math class. (It does not have to be typeset, but it must be clear enough for me to follow.) Assignments will comprise 1/4 of your grade, the final will be worth 1/2, and the midterm will account for 1/4 of your grade.
https://registrar.sdsu.edu/calendars/finals/fall-2024 says that our final is scheduled for Thursday, December 12 from 7pm to 9pm (for Fall 2024).

Policies:
Homework and programming assignments are intended to help you learn. Talking over your ideas and problems with other people in the class is very helpful. You may discuss ideas, but you must do your own work and write up your own solutions and programs. In particular, you may NOT work on an assignment (or a program) as a team.
Using another person's work is cheating. Copying a program from a book is plagiarism, just like copying from a paper for a humanities class, unless you give an appropriate citation. If you are in doubt about where the border line is for our assignments, ASK ME. It should go without saying (but past experience suggests saying it) that copying on exams, homework, or other forms of cheating will be dealt with severely. Automatic failure of the course is guaranteed in such cases, and sanctions can include expulsion from the university. If an assignment is copied (or developed as a team), BOTH parties will fail the course (so, if someone asks to copy your work, point them at this paragraph :-).

Your assignments are due at the beginning of class on the day specified on the assignment. To maintain fairness and uniformity of grading, I cannot accept late assignments. Similarly, there will be no make-up exams. In unusual circumstances (to be determined by me). you might be allowed to take an oral makeup at the end of the semester. If you know in advance that you will miss an exam, see me about it in advance. Our midterm will be around week 8 of the semester; near week 6 I will propose a few possible dates, and the class will vote on the optimal date. Note the date of our final exam now; don't make plans that conflict with the final. Note in particular that the university policy described in https://registrar.sdsu.edu/calendars/finals/fall-2024 prohibits taking the final early.

That's all I have to say, so this is an appropriate place to STOP reading.

However, by order of the administration, there are other things that must be included in every syllabus. Everything below falls into that category.

A link to the SDSU Student Academic Success Handbook https://studentsuccess.sdsu.edu/success-hub is required.

Relation To CS Program Course Outcomes CS 560 addresses the following CS Program course outcomes:
1. An ability to apply knowledge of computing and mathematics.
2. An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
3.An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
4.An ability to use current techniques, skills, and tools necessary for computing practice.



Home | CS460/No Frames