Quiz Learning Objectives

This page lists the Quiz Learning Objectives for this course. These will be assessed on quizzes, but you’ll have a chance to practice these skills in class and on assignments as well.

There will be approximately 25 Core and 15 Advanced Learning Objectives. The full list will be given as the term progresses.

General: Programming Languages

Core        Advanced
PL 1: programming paradigms – compare/constrast different paradigms PL 7: side effects – identify side effects in a program
PL 2: value vs. reference model – identify impacts of different type semantics

Unit 1: Functional Programming and Scheme

Core        Advanced
FS 1: procedure calls – interpret (nested) Scheme expressions FS 9: car and cdr – write or interpret expressions using car and cdr
FS 2: cons cells – create or interpret diagram of cons cells for a list FS 10: implementing higher-order functions – implement higher-order function(s)
FS 3: recursion – interpret or modify recursive procedures FS 11: tail recursion – identify and interpret tail recursion
FS 4: lambda – interpret expressions using anonymous functions FS 12: writing Scheme – write Scheme procedure(s)/program
FS 5: higher-order functions – interpret expressions using map, filter, fold, etc.
FS 6: currying and partial application – use or complete curried procedures
FS 7: lazy lists – write or interpret expressions using lazy lists
FS 8: reading Scheme – explain functionality of given Scheme procedure(s)/program

Unit 2: Imperative Programming and C

Core        Advanced
IC 1: pointers – write or interpet expressions using pointers IC 7: memory issues – identify and explain pointer/memory-related errors
IC 2: stack vs. heap – draw or interpret diagram of stack/heap/static memory IC 8: writing C – write C function(s)/program
IC 3: structs – write expressions using structs/unions
IC 4: arrays – write or interpret expressions using arrays
IC 5: strings – draw or interpret diagram of characters in a string
IC 6: reading C – explain functionality of given C function(s)/program