At the end of this course, students will be able to:
- Identify the types of computation and describe digital computation in detail.
- Design simple combination circuits for simple computational problems.
- Outline the concepts of the Von Neumann Architecture and the Turing Machine, and describe how a modern computer relates to them.
- Understand and use how information is represented in a modern computer and how instructions are executed.
- Describe the types of programming languages, and the paradigms.
- Understand the concept of basic data types, such as int, float, bool as well as container data types, such as list, tuple, string.
- Differentiate computational evaluation of expressions from mathematical evaluation due to concepts such as overflow, side-effect, and truncation.
- Understand and apply structured programming concepts by elaborating on sequential, selective, repetitive structures, such as statements, if/switch/case statements, for/while statements and functions.
- Interpret a computational problem specification and algorithmic solution and implement a solution in Python to solve that problem.