Text: Introduction to Algorithms, by Cormen et al.
Course Homepage: https://www-cs.ccny.cuny.edu/~wes/CSC212/
Time and Place: T,R 2-3:40PM Twitch.tv
Instructor: William E. Skeith (WES)
Office: Shepard 279 (once things return to “normal”…)
You will learn how to design and implement basic data structures (in C/C++) and how to analyze such structures and their associated algorithms for efficiency and correctness. Lastly, you will learn to make practical use of these structures in solving larger problems.
CSC 103 and 104.
You are strongly encouraged to attend lectures. I believe in a close, open and interactive classroom environment whenever possible. Books and videos surely have their place, but I maintain that it is through open dialogue that your understanding and growth will be best facilitated. Don’t be shy to interrogate me during class! (Although there’s always piazza if you are feeling too shy.)
There will be around 6 programming projects, and several (around 3) written assignments. This, together with exams (see below) will be the basis of your grade. Note that there will also be numerous non-graded exercise. These are usually labeled TODO
in the notes.
There will be a zero-tolerance policy regarding cheating. To be clear, cheating means submitting any work that isn’t your own. Consider the following quote, taken from the CUNY Policy on Academic Integrity:
Academic Dishonesty is prohibited in The City University of New York and is punishable by penalties, including failing grades, suspension and expulsion.
Upon a single offense, you’ll at a minimum be removed from the class with a failing grade.
There will be one midterm and a Final exam.
The midterm will be March 16th
The final exam will be May 18th from 1pm – 3:15pm
There will be no make-up exams.
The final grade will be based on the best of the following:
HW and projects-20%, MT-35%, Final-45%,
or
HW and projects-25%, Final-75%.
If you need a system that is set up for compiling C/C++, you can use the virtual machine for the 103 class. Even if you are most comfortable using Windows or Mac, using the virtual machine might be a good opportunity to expand your horizons. As a CS major, you may find that the freedom which linux provides suits your needs much better than other OSes.
Note: if you don’t have a computer available at all, the virtual machine is also set up in the Student Computer Labs.
Your time is valuable; I want you to get as much as possible out of your time in the classroom with me. Please don’t hesitate to let me know how you feel about the pace, or just about how things are going in general.