🎯 Course Learning Objectives
By the end of CSW 8, students will have discussed, applied, and praciced working with the following course goals.
- Foundational programming concepts:
- Memory concepts: variables, name, type, value, assignment statements, scope of variables, primitive vs. reference variables
- Primitive types:
int
,float
,str
,bool
- Basic data structures: lists, tuples, dictionaries, namedtutples, sets
- Control structures:
if
/else
/elif
,for
andwhile
loops, nested loops - Operations on Lists and Other Data Structures in Python: index vs. value, finding sum, min, max, average, count of elements matching some condition, making a new structure of elements containing only those that match some condition.
- Functions: function call vs. function definition, formal vs. actual parameters (arguments), recursive functions
- Input/output concepts: Writing to the terminal, reading from the keyboard, reading and writing to files, neatly formatting output
- Problem solving strategies and code design:
- breaking down a problem into a sequence of steps
- abstracting specific problems into general ones, and
- finding general solutions
- Debugging programs by:
- predicting the output of programs or parts of code
- generating test inputs and expected outputs based on the specification of a program, and writing test code
- using print statements to localize program bugs
- Use an IDE to write and execute code.
- Write code that other people can read and understand.
- Explore the relevance of programming through real-world examples.