Prerequisites: No programming or computer science experience is required. Students should have sufficient facility with high-school mathematics to solve simple linear equations and to appreciate the use of mathematical notation and formalism.
Syllabus:
Units covered:
| PF1 | Fundamental programming constructs | 10 | hours (9 core + 1) |
| PF2 | Algorithms and problem-solving | 3 | core hours (of 6) |
| PF3 | Fundamental data structures | 2 | core hours (of 14) |
| AR2 | Machine level representation of data | 1 | core hour (of 3) |
| AR3 | Assembly level machine organization | 2 | core hours (of 9) |
| OS1 | Overview of operating systems | 1 | core hour (of 2) |
| NC1 | Introduction to net-centric computing | 1 | core hour (of 2) |
| PL3 | Introduction to language translation | 1 | core hour (of 2) |
| PL4 | Declarations and types | 3 | core hours |
| PL5 | Abstraction mechanisms | 3 | core hours |
| HC1 | Foundations of human-computer interaction | 1 | core hour (of 6) |
| GV1 | Fundamental techniques in graphics | 1 | core hour (of 2) |
| SP1 | History of computing | 1 | core hour |
| SP2 | Social context of computing | 1 | core hour (of 3) |
| SP4 | Professional and ethical responsibilities | 1 | core hour (of 3) |
| SP6 | Intellectual property | 1 | core hour (of 3) |
| SE1 | Software design | 3 | core hours (of 8) |
| SE3 | Software tools and environments | 2 | core hours (of 3) |
| SE4 | Software processes | 1 | core hour (of 2) |
| Elective topics | 1 | hour |
Notes:
This course is part of an alternative implementation of the imperative-first introductory track that covers the fundamental programming concepts in three semesters rather than two. In terms of the curriculum, students should be able to move on to more advanced courses after taking either the sequence CS101I-102I-103I or the two-semester sequence sequence CS111I-112I, which covers the same material in a more concentrated fashion. Although covering programming fundamentals in two semesters has long been standard in computer science education, more and more programming topics can legitimately be identified as fundamental, making it more difficult to provide a complete introduction to this material in a single year. The CC2001 Task Force anticipates that three-semester introductory sequences will become increasingly common over the next decade and encourages departments and individual faculty to experiment with models along these lines.
|
December 15, 2001 |