/cci_python

Welcome to Year 1 Introduction to Creative Computing and Coding Practice at UAL CCI

Primary LanguageJupyter Notebook

Introduction to Creative Computing and Coding Practice

Instructor(s): Phoenix Perry, Vit Ruzicka

Email: phoenix.perry@arts.ac.uk, v.ruzicka@arts.ac.uk

Office Hours: via youcanbookme

Assignments and notes will be posted weekly on github here:

https://github.com/phoenixperry/cci_python

Course Description:

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.

Language:

Python 3.0+

Software:

Essential Reading

Further Reading

  • 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.).

Grading:

  • 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%)

Web References:

https://runestone.academy/runestone/books/published/thinkcspy/index.html

https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/

https://www.python.org/about/gettingstarted/

https://www.youtube.com/channel/UCI0vQvr9aFn27yR6Ej6n5UA

Weekly Outline:

Week One: Installation and Course Overview
Week Two: Variables and Statements
Week Three: Conditions
Week Four: Functions
Week Five: Iteration
Week Six: Strings (notes about strings and iterations have been merged into W7)
Week Seven: Lists + Files
Week Eight: Files (cont.)
Week Nine: Dictionaries & Tuples
Week Ten: Classes and Objects
Week Eleven: Review 1 - check out the questions and solutions at week11/class_code/w11_tasks_solutions.ipynb

🎄🎄🎄 Christmas break

Week Twelve: Exceptions, Recursion, Assignment discussion
Week Thirteen: Review 2 - check out these tasks and solutions at week13/w13_ExamPrep_with_solutions.ipynb