What Do CS1 Syllabi Reveal About Our Expectations of Introductory Programming Students?

Imperial College London - Programming 1

Country: England
University: Imperial College London
Course code:
Course title: Programming 1
Date of Syllabus:
Source: Manual search
Associated Degrees: Computer Engineering
Prerequisits: no
Course for Majors: yes
Course stage:
Semester:
Programming language: Haskell
Language of Instruction: English
URL: http://www.imperial.ac.uk/computing/current-students/courses/120_1/
Explicit or !Explicit LOs: Explicit
Learning Outcomes:

To recall the syntax and semantics of the Haskell language

To explain the key features of functional programming languages: recursion, lazy evaluation, lists, higher-order functions

To explain specific features of the Haskell language: partial application, data types, type classes and overloading, basic monadic I/O

To design and implement functions for solving well-specified problems

To define and implement data types for solving a given problem that are both efficient and well-suited to the problem

To use the full range of Haskell’s language features to ensure succinct and elegant solutions to problems

To compare different solutions to the same problem using basic complexity arguments

To develop solutions for more open-ended problems where there is little or no guidance on design

To use the available Haskell implementations (e.g. GHC, GHCi, Hugs) to implement and execute solutions to given

To learn about and use any available supporting tools for program development, analysis, debugging etc.

To use the supplied tools and frameworks for program testing and submission

LO categories:

Writing programs

Problem Solving (also things like computational thinking)

Variables, assignment, arithmetic expressions, declarations, data types

File handling & I/O

Testing & Debugging code

Evaluating Time/Space Complexity

Recursion