Us: https://design-computing.github.io/code1161/guess_who_poster.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
- Forum for your questions about the material and the course.
- Annoucements, updates and my errors will be posted here invitations after I have your emails
- Ishaan Varshney: ishaan.varshney@unsw.edu.au
- Aiden Ray: z3460907@ad.unsw.edu.au
- General chit-chat about comp design and computing.
-
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.
- Please bring a portable computer to the lab as you will be setting up your dev environment.
- An open mind and a willingness to trade some privacy for automation of boring tasks and quicker processes.
Instructions:
<iframe src="https://docs.google.com/presentation/d/e/2PACX-1vQED50HjjGZhZ8Nv_9m8dSij1-eVpzuT3jBh3Djd6axm6guCc0H9gWpk9OJwfSIfbIiwGOSPDDz75qG/embed?start=false&loop=false&delayms=60000" frameborder="0" width="960" height="569" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>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.
- Ensure you have your dev environment set up.
- In the week1 folder, complete:
- exercise1.py
- write your journal in README.md
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.
- A portable computer.
- List of questions from last week's lab
- Maybe some snacks for the lab. Keep it low GI if you can.
- The first two readings
- homework exercises in week2 folder
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.
<iframe src="https://docs.google.com/presentation/d/e/2PACX-1vQQvpQvKiZyXyKCck-vJxxY2N7ONCfv08Yy5AtpxSu_8zG47yVlDwAfkk1LbAWvanX2NKJV1e7KEGWt/embed?start=false&loop=false&delayms=3000" frameborder="0" width="960" height="569" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>Instructions for week3:
- pull from upstream/master
- run week3/setup.py to install required libraries
- start working through the lab exercises
- Khan Academy Algorithms Course: https://www.khanacademy.org/computing/computer-science/algorithms. 'Intro to Algorithms' and 'Binary Search' sections
- Lab book for week3x
- homework exercises in week3 folder
This week in the lecture we will build on our hangman game by saving the highest scores and introducing a leader board.
<iframe src="https://docs.google.com/presentation/d/e/2PACX-1vQ8BkNrDW08ySOr44rQSxrAeht7Avm6PXHclCuAdzUtLn1SMNO8oywMFJI4dKIN3k_rPKbXy0keXUVc/embed?start=false&loop=false&delayms=3000" frameborder="0" width="960" height="569" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>Instructions:
- pull from upstream/master
- ensure you have completed all labs from week 1, 2, 3
- run through the hangman.py and understand what each line does.
This week we will extend on our hangman game by getting the word to guess from the internet.
- go over saving and reading from file again
- what is JSON?
- reading stuff from the internet with programs
- recursion
- [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
- run through the
hangman_leaderboard_word_from_internet.py
for some hints.
- run through the
- complete week 5 refactoring and recursion exercises
- You may need to look at other examples of recursion to develop a fuller understanding of how it works.
- ensure you have completed all labs from weeks 4 and 5
- lab books for both weeks
- Prepare for the programming exam on 17/04/2018 at 3pm.
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.
<iframe src="https://docs.google.com/presentation/d/e/2PACX-1vQTErz4xhwXpQFJ9808NHSZZKrc3Rf_g_P8yXMdMkOSmzfUHeZdFGU5hzlcQ4e_F5tADRRn5ClyAldY/embed?start=false&loop=false&delayms=3000" frameborder="0" width="960" height="569" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe> <iframe src="https://docs.google.com/presentation/d/e/2PACX-1vTXNkJCGDstDeRNc_jbHt7Y-TO1-Fj_oB1taSWwtrksUfr1RhRYwK5RmrcueLtly4EFFjoZSc9s0faB/embed?start=false&loop=false&delayms=3000" frameborder="0" width="960" height="569" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>While we are marking the projects:
- Create a kaggle account
- Fork this: https://www.kaggle.com/kanncaa1/data-sciencetutorial-for-beginners
- Run:
- up to the start of 2. Python Data Science Toolbox
- 3.Cleaning Data
- 4.Pandas Foundation.
- 5.Manipulating Data Frames with Pandas.
- Absorb all the possibilities of these tools
- Start looking for data and thinking about a question you want to answer
- Get first hand experience using pandas and visualisation skills. https://www.kaggle.com/residentmario/welcome-to-data-visualization
- Pull from upstream to get the latest lab books
- Complete the lab book in the week10 folder
- Get acquainted with pandas and matplotlib
- Research what questions you would like to answer and datasets.
Guest Lecture: Rachel Bunder, Data Scientist at Solar Analytics
- Decide on a dataset or question. Might be worthwhile doing some quick exploratory data analyses.
- Going deeper with pandas and matplotlib
- Complete this form by next Tuesday 15 May @ 12pm. These results will be used in the marking sheet. <iframe src="https://docs.google.com/forms/d/e/1FAIpQLSeG8uQ6mCdnHlZcxFKL8--oLQrL35L-nFRwH5EbswPRZ-tmhw/viewform?embedded=true" width="700" height="520" frameborder="0" marginheight="0" marginwidth="0">Loading...</iframe>
- lab book in week11 folder
- OpenData Project
- None, you're free now.