DSW-Unit 2-Python

Summary

Crash course in Python for students that have some programming background (e.g. in Scratch, Snap, Processing, Java, Swift, etc.)

Topics

Learning Objectives

UC a-g application information

Summary

In this unit, students will be introduced to the basic concepts of the Python programming language. Given that at least one programming course is a pre-requisite, it is assumed that students are familiar with the concepts of variables, expressions, types, functions, selection and loops, but that they will need to practice applying these concepts in a new programming language. The concept of nested data structures involving lists and dictionaries may be a new concept for many students, and is fundamental to working with web-based data represented in JavaScript Object Notation (JSON), a skill needed later in the course; that will, therefore, be a major emphasis of this unit. In addition, the practice of test-driven development—fundamental both to undergraduate CS programs and software industry practice, will be taught and reenforced through hands-on practice.

Key Assignment

A key assignment for this unit will be to write a series of functions that computes results over increasingly complex data, starting with simple scalars, and progressing to lists, dictionaries, and nested data structures that combine lists and dictionaries. The students will be provided with stubs and unit tests for the functions, and will be required to write the code to compute the correct results. Students will learn to become proficient in a programming language (Python) not covered in previous courses in the curriculum, This is an academically challenging assignment involving problem-solving, and serious attention to analytical thinking.

Activities