At the end of the course, students will be able to:

1. Analyze complex problems by thinking computationally and systematically.
2. Solve practical, real-world problems using a modern computer programming language..
3. Demonstrate the ability to read, write, discuss and code confidently.
4. Understand how to code in teams, collaborate with others and manage source code.
5. Acquire new programming knowledge independently.