This course covers essential material from three traditional upper level courses in computer science: Data Structures/Software Design, Analysis of Algorithms, and Computability. The first half of the course provides an intensive immersion in these areas as either introduction or review, while students define a personal direction for study in the second half of the course to pursue more in-depth and advanced work within one of these areas. Appropriate for those concentrating in computer science, but also for those who need more than novice level coding for their plan. Interdisciplinary projects are encouraged. Coding is expected, and Java will provide a focus. In the second half students can choose their language. Mathematica, R, C, Python, Scala are all possible vehicles for pursing advanced study in a particular area ranging from User Interaction to Dynamic Programming to Machine Learning.
Registration: Email firstname.lastname@example.org, by end of day on May 15, with a short paragraph describing your background, and your reasons for taking the course. Then contact Andrew McIntyre, Monday 1-2, Tuesday 1-2, or Friday 2-3 in Dickinson 213, or by email, when 4000 registration opens. Students will be given priority depending on strength of background and importance to plan.