CODE1161 Design Computing Homepage S1 2018

Us: https://design-computing.github.io/code1161/guesswhoposter.html

Course Outline:

This course focuses on using programming as a means of problem solving, storytelling and creative expression for people in non-computer science fields.

Programming is simultaneously a vocational skill, a branch of philosophy, a culture, and the glue that holds the modern world together. By the end of this course you will have the philosophical tools needed to design solutions and the technical skill to implement them.

In the same way that being able to hold a pen doesn’t make you a writer, being able to type code doesn’t make you a programmer. So we’ll learn how to manipulate symbols (type code), what those symbols mean, and how to decide which symbols to type in the first place. We’ll learn simple logic and strategies for decomposing problems. We’ll learn about the history and culture of computers in general, and in art and architecture.

The course will be taught through three sections. The first will be becoming proficient in the Python. Second is will be a machine learning project which utilises your newfound problem solving and programming skills. The third section will be the Open Data Project: a data analysis and story telling telling task.

Course Communication

Course website:

https://design-computing.github.io/code1161/

Course repository

https://github.com/Design-Computing/code1161

Piazza

Email

Slack

Assessments

View in full

Schedule

Week 1: Welcome to CODE1161 and Your dev environment

Introduction

Requirements

Lecture

Lab

Instructions:

Attempt exercises in trinket.io if you have finished.

In the last hour we will familiarise ourselves with each bit of software we have installed and what purpose it serves in the course. After that we will cover how to write your lab books and push them to github.

Homework

Readings

Graham, P. (2009). Maker’s Schedule, Manager’s Schedule.

Case, N. (2016). Simulating The World (In Emoji 😘).

Davis, D. (2015). Why Architects Can’t Be Automated.

Doherty, B. (2015). Architects getting automated?

Noll, A. M. (1967). The digital computer as a creative medium. IEEE Spectrum, 4(10), 89–95.

Week 2: All of Python in three hours

Introduction

Requirements

Lecture

Lab

Homework

Readings

https://automatetheboringstuff.com/#toc: chapters 1-5 Really awesome book https://programminghistorian.org/lessons/getting-started-with-github-desktop: Clarification for the github stuff

Week 3: Useful Programs and Algorithms

Introduction

This week in the lecture we will cover loops, collections and functions and taking user input by building a hangman game.

Lecture

Lab

Instructions for week3:

Homework

Week 4: Dictionaries and File I/O

Introduction

This week in the lecture we will build on our hangman game by saving the highest scores and introducing a leader board.

Lecture

Lab

Instructions:

Homework

Week 5: More File I/O and the Internet

Introduction

This week we will extend on our hangman game by getting the word to guess from the internet.

Lecture

Homework Due 10/04/2018 @ 12pm

Week 6: Non-teaching week

Week 7: Also non-teaching week

Week 8: Exam

In the lectures we will revise what so far in preparation for the exam in the labs. After the exam we will start looking at the software project due in

Lab (exam)

Instructions: - Promptly fire up your laptops - At ~15:15, the exam will be pushed - You will have 90 minutes to complete the exam, commit it and push it to your repository.

Week 9: Machine Learning

Lecture

Lab

Machine learning assignment to be demonstrated on 1 May 2018 in the labs.

Week 10: OpenData Introduction

Lecture

Lab

While we are marking the projects:

Homework

Week 11: OpenData: Deciding on a dataset and topic

Lecture

Guest Lecture: Rachel Bunder, Data Scientist at Solar Analytics

Lab

Homework

Week 13: Final Week–Review

Lecture

Lab

Homework