This shows you the differences between two versions of the page.

Both sides previous revision Previous revision Next revision | Previous revision | ||

cs-312:syllabus [2015/03/26 20:55] ringger [Screencasts and Quizzes] |
cs-312:syllabus [2015/04/14 16:57] (current) ringger |
||
---|---|---|---|

Line 3: | Line 3: | ||

== Description and Objectives == | == Description and Objectives == | ||

- | Welcome to CS 312! This course will provide an introduction to the analysis of algorithms from both a theoretical (mathematical) and a practical perspective. Algorithms solve problems, and we will explore a wide variety of problems, some relatively abstract and some down-to-earth. Practical application domains include cryptography, geometry, 3-D graphics, image processing, bioinformatics, logistical planning, route planning, and artificial intelligence. More abstract applications include combinatoric optimization and graph theory. As such, CS 312 provides an excellent mathematical foundation and will serve as a gateway to problem solving in other domains. | + | Welcome to CS 312! This course will provide an introduction to the analysis and design of algorithms. The course adopts both a theoretical (mathematical) and a practical perspective. Algorithms solve problems, and we will explore a wide variety of problems, some relatively abstract and some down-to-earth. Practical application domains include cryptography, geometry, image processing, bioinformatics, logistical planning, route planning, and artificial intelligence. More abstract applications include combinatoric optimization and graph theory. As such, CS 312 provides an excellent mathematical foundation and will serve as a gateway to problem solving in other domains. The domain of CS 312 is one of the key areas of focus for technical interviews, because of the centrality of the topic to computer science. Doing well in this class will help you excel as a computer scientist and software engineer. |

We will explore several families of algorithms, with the ability to solve problems of increasing complexity: | We will explore several families of algorithms, with the ability to solve problems of increasing complexity: | ||

Line 159: | Line 159: | ||

There will be several projects throughout the semester, some of them more challenging than others. In every project, you will have the opportunity to design the conceptual solution to a concrete problem before you write any code; the final project of the semester will require the most effort in terms of design. Only once you have understood the problem and designed the solution should you begin to implement your solution and actually write code. | There will be several projects throughout the semester, some of them more challenging than others. In every project, you will have the opportunity to design the conceptual solution to a concrete problem before you write any code; the final project of the semester will require the most effort in terms of design. Only once you have understood the problem and designed the solution should you begin to implement your solution and actually write code. | ||

- | ==== Whiteboard problem-solving ==== | + | ==== Whiteboard Problem-solving ==== |

You are developing as a problem solver. In this class, you are also learning the importance of solving a problem and analyzing the solution before you start writing code. For each project, you are required to step up to a whiteboard after reading the project instructions but before writing any code. In medical school, they use the learning pattern "learn one, do one, teach one". Class lectures and reading help with the learning; the homework provides opportunities to actually solve similar problems; and the whiteboard experience is your opportunity to teach / explain the idea. | You are developing as a problem solver. In this class, you are also learning the importance of solving a problem and analyzing the solution before you start writing code. For each project, you are required to step up to a whiteboard after reading the project instructions but before writing any code. In medical school, they use the learning pattern "learn one, do one, teach one". Class lectures and reading help with the learning; the homework provides opportunities to actually solve similar problems; and the whiteboard experience is your opportunity to teach / explain the idea. | ||

Line 190: | Line 190: | ||

It is intended that the project instructions should be self-contained and sufficient. Even so, a help session will accompany each project. Help sessions are available primarily to demonstrate a working implementation of the projects and to answer student questions about the instructions. If you cannot go to a help session and the project instructions document is not meeting your needs, you are certainly welcome to post questions on the Google Group, to meet in office hours with the TAs, or to meet with the instructor to get your questions answered. | It is intended that the project instructions should be self-contained and sufficient. Even so, a help session will accompany each project. Help sessions are available primarily to demonstrate a working implementation of the projects and to answer student questions about the instructions. If you cannot go to a help session and the project instructions document is not meeting your needs, you are certainly welcome to post questions on the Google Group, to meet in office hours with the TAs, or to meet with the instructor to get your questions answered. | ||

== Exams == | == Exams == | ||

- | There will be one mid-term exam and a final exam. The mid-term exam will take place in the testing center with a three hour time limit. The mid-term exam will be scheduled to allow for flexibility. The final exam will be held in class according to the University’s calendar (see the course schedule). As per University policy, no exceptions will be granted to final exam time or location. Plan your travel accordingly. | + | There will be one mid-term exam and a final exam. The mid-term exam will take place in the testing center with a three hour time limit. The mid-term exam will be scheduled to allow for flexibility. The final exam will be held in the classroom on the date specified on the University’s calendar (see the course schedule). As per University policy, no exceptions will be granted to final exam time or location. Plan your travel accordingly. |

The only aid you may bring to an exam is one page of notes hand-written or typed '''by you only''' for the mid-term or two pages (same restrictions) to the final exam. Since the final exam is comprehensive, one of your pages of notes can be the page you used for the mid-term exam. If the notes are not hand-written or typed by you, you may forfeit the exam or incur a significant point penalty. Copying and pasting other notes, including from the course slides or textbook is an example of "not by you". You may use both sides of the page. Your notes must be submitted with the exam. You are encouraged to study together in preparation for the exams. | The only aid you may bring to an exam is one page of notes hand-written or typed '''by you only''' for the mid-term or two pages (same restrictions) to the final exam. Since the final exam is comprehensive, one of your pages of notes can be the page you used for the mid-term exam. If the notes are not hand-written or typed by you, you may forfeit the exam or incur a significant point penalty. Copying and pasting other notes, including from the course slides or textbook is an example of "not by you". You may use both sides of the page. Your notes must be submitted with the exam. You are encouraged to study together in preparation for the exams. | ||

Line 237: | Line 237: | ||

| 15% | | 15% | ||

|} | |} | ||

+ | |||

+ | Note that the Learning Suite gradebook includes a category called "Project Raw Scores". That category has 0 weight and is there only for internal TA and instructor purposes. Please disregard that section. | ||

=== Grade Scale === | === Grade Scale === | ||

Line 350: | Line 352: | ||

I reserve the right to update and clarify the syllabus throughout the semester. Similarly, other elements of the course wiki will be updated in light of clearer thinking on my part and prompted by your questions and requests for clarification. | I reserve the right to update and clarify the syllabus throughout the semester. Similarly, other elements of the course wiki will be updated in light of clearer thinking on my part and prompted by your questions and requests for clarification. | ||

- |