We're not using the robot turtle, but wouldn't it be fun? Image from Wikipedia
This course design lives on my portfolio site, and will be updated there as time goes on.
Introduction
This course is currently undergoing a transformation. It has traditionally taught basic office software usage in a step-by-step workshop style. The new version focuses on computational thinking skills by teaching basic programming concepts in Python and then applying them to understanding more advanced functions of the same software previously covered in detail. Instead of learning a laundry list of programming concepts, however, the concepts are embedded in four relatable general contexts (see topic list below).
A new calendar course name and description, which I developed, is up for approval Fall 2014.
Learning Objectives
By the end of the course, students will:
- Develop an appreciation of computer science.
- Understand what computer science is.
- See how computer science can help solve problems in arts and social sciences
- Learn how computer science can help you by automating boring, repetitive, or error-prone tasks.
- Develop computational thinking skills.
- Learn how information is stored on a computer.
- Learn basic programming concepts (variables, if statements, loops, and functions) and write simple programs using these concepts.
- Learn how to formulate searching and sorting problems in a way a computer can solve them, and understand the efficiency of the solutions.
- Develop an advanced understanding of useful software packages by applying computational thinking skills.
- Apply an understanding of variables to effective use of word processing software.
- Apply an understanding of variables, if statements, and functions to effective use of spreadsheet software.
- Apply an understanding of variables and references to database software.
Many topics have a context in which the concepts are placed. For example, for conditionals and repetition, we discuss how the logic would look for a robot that can find its own way out of a maze. We start with just the ideas, such as how to break the right-hand rule down into its constituent parts, then see how to implement if statements and while loops in snippets of Python later on.
- Introduction
- Course intro
- What is computer science?
- What is computational thinking?
- Binary Numbers and Data Representation: How Photography Went Digital
- Image representation
- Binary numbers
- Bits and bytes in memory
- Using the Python interactive shell
- Conditionals and Repetition: Helping a Robot Find Its Way
- Boolean expressions
- If, else, elif
- while loops
- Data Structures: Making Stories Interactive
- Data types and variables
- Lists
- Dictionaries
- References and simple graphs
- Searching and Sorting Algorithms: Managing a Bookstore More Efficiently
- Searching: linear, binary, hash
- Sorting: insertion, selection, quick
- Applying Computational Thinking to Word, Excel, and Access
- Miscellaneous applications of computational thinking / Python
- E.g. PyschoPy, RenPy, etc
- Computer science, computational thinking, binary numbers
- Image and text representation, first Python turtle program
- Python turtle programs with if statements, loops, and variables
- Searching and sorting (conceptual), Python turtle program with a user-defined function
- Word, Excel, Access