Us: https://design-computing.github.io/code1161/guesswhoposter.html
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.
https://design-computing.github.io/code1161/
https://github.com/Design-Computing/code1161
An introduction to the world of computing as it is in 2018. This should provide some context to what this course aims to teach and why.
Learning the 3 step process that will help to start your journey as a problem solver.
Setting up your development environment.
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.
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.
This week we will obtain an overview of all the components of the Python syntax. Theoretically, you will be able to do any programming task after this week ;-).
More details about the development environment.
How to ask questions and the three step process to general problem solving.
https://automatetheboringstuff.com/#toc: chapters 1-5 Really awesome book https://programminghistorian.org/lessons/getting-started-with-github-desktop: Clarification for the github stuff
This week in the lecture we will cover loops, collections and functions and taking user input by building a hangman game.
Instructions for week3:
This week in the lecture we will build on our hangman game by saving the highest scores and introducing a leader board.
Instructions:
This week we will extend on our hangman game by getting the word to guess from the internet.
[add video link if we successfully manage to record it]
Instructions:
pull from upstream/master
run week4/setup.py
complete week 4 file I/O exercises
hangman_leaderboard_word_from_internet.py for some hints.complete week 5 refactoring and recursion exercises
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
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.
Machine learning assignment to be demonstrated on 1 May 2018 in the labs.
While we are marking the projects:
Guest Lecture: Rachel Bunder, Data Scientist at Solar Analytics