Instructor(s): Phoenix Perry, Vit Ruzicka
Email: phoenix.perry@arts.ac.uk, v.ruzicka@arts.ac.uk
Office Hours: via youcanbookme
https://github.com/phoenixperry/cci_python
This module introduces ideas that are fundamental to building a conceptual understanding of computation for creative practice. Computational thinking requires more than writing code. It requires learning new ways to think about problem solving. Only by breaking complex problems down into their smallest steps and ordering those steps, is it possible to write functional programs. This module will introduce Computational Thinking, Integrated Development Environments, Binary Numbers, Hexadecimal numbers, Functional programming, Object Oriented Programming, fundamental logical structures and data structures used in programming, stacks, L-systems and recursion. In addition, students will learn how to create, read and write to files.
To gain mastery of these concepts, students will work through a series of computational problems using accessible programming languages, such as Python. This unit is delivered through a set of mini games and problems which students will need to solve. Completing each challenge, students will need to show they have understood the new concept as well as built on any former material. By the end of the module, students will be able to write simple programs and demonstrate the ability to deconstruct verbal problems in order to write simple software.
Python 3.0+
- Visual Studio Code (Install through Anacoda)
- Anaconda https://www.anaconda.com/
- Pygame https://www.pygame.org/news
- Raspberry Pi https://www.raspberrypi.org/
-
Course Book: How to Think Like A Computer Scientist There's an interactive version of it here: https://runestone.academy/runestone/books/published/thinkcspy/index.html
-
Zelle, J. (2016). Python Programming An Introduction to Computer Science 3rd Revised edition. Franklin, Beedle & Associates Inc.
-
Guttag, J. (2016). Introduction to Computation and Programming Using Python: With Application to Understanding Data. MIT Press.
-
Lubanovic, B. (2014). Introducing Python. O'Reilly Media, Inc.
-
Beecher, K. (2017) Computational Thinking: A Beginner’s Guide to Problem-Solving and Programming. BCS Learning & Development Limited.
-
Matthes, E. (2015). Python Crash Course: A Hands-On, Project-Based Introduction to Programming.
-
Beazley, D., & Jones, B. (2013). Python cookbook. (Third edition / David Beazley, Brian K. Jones.. ed.).
-
Course work: students will be required to show a running program which achieve assigned objectives. The assignments will be given throughout the term. (50%)
-
Exam: students are required to complete a paper examination and write code by hand without an IDE. Topics on the exam will be appropriate to the material covered during the term and will include demonstrating basic problem-solving ability. (50%)
https://runestone.academy/runestone/books/published/thinkcspy/index.html
https://www.python.org/about/gettingstarted/
https://www.youtube.com/channel/UCI0vQvr9aFn27yR6Ej6n5UA
Week Eleven: Review 1 - check out the questions and solutions at week11/class_code/w11_tasks_solutions.ipynb
🎄🎄🎄 Christmas break