CS1101S: Programming MethodologyA Freshmen Module in the Department of Computer ScienceSchool of ComputingNational University of Singaporeby Martin Henz, Low Kok Lim, and Boyd Anderson. |
||
CS1101S is a module taught in the Department of Computer Science at the NUS School of Computing. It is designed to give Computer Science majors a rigorous and thorough introduction to programming methodology. The module follows the didactic strategy of the classic textbook Structure and Interpretation of Computer programs (SICP), which Harold Abelson and Gerald Jay Sussman developed for MIT introductory programming class 6.001. The module uses Structure and Interpretation of Computer Programs, JavaScript adaptation (SICP JS), see textbook. Since the its introduction at NUS as IC1101S in 1997, the module underwent substantial revisions and additions. As of 2020, CS1101S is characterized by a constructivist didactic approach, an immersive learning environment and a considerable wealth of application domains covered in examples to stimulate student interest in computing, while retaining Abelson's and Sussman's didactic approach. The teaching team shares a set of values that guides it in its effort to achieve the module outcomes.
The module carries four modular credits. The module offers opportunities for additional exercises and challenges that intensify the learning experience and broaden the students' foundation in programming methodology. Successful completion of these exercises is awarded one further modular credit, which means that the module has a maximum of five attainable modular credits. Since Academic Year 2018/19, CS1101S is the mandatory freshman programming module for freshmen in the 4-year Bachelor in Computing (Computer Science) of the School of Computing at the National University of Singapore (NUS). The module is the most rigorous introduction to programming offered by NUS. |
Solving and grading missions is facilitated by the Source Academy, an online programming environment built for CS1101S. The missions are embedded into a coherent story line in the Academy; the picture on the right shows a scene set on an alien planet.
The following list of learning outcomes has been established on 11/8/2014 in a committee of lecturers of CS101 modules in the School of Computing. Each item is followed by the techniques how the learning outcomes are achieved in CS1101S.
The following subject-specific learning outcomes are achieved as a result of the chosen didactic approach and are not required by the department. The lecturers consider these topic of sufficient importance for inclusion in the learning outcomes of CS1101S: