Introduction to Computing for Creative Practice

Course ID 15104

Description An introduction to fundamental computing principles and programming techniques for creative cultural practices, with special consideration to applications in music, design and the visual arts. Intended for students with little to no prior programming experience, the course develops skills and understanding of text-based programming in a procedural style, including idioms of sequencing, selection, iteration, and recursion. Topics include data organization (arrays, files, trees), interfaces and abstraction (modular software design, using sensor data and software libraries), basic algorithms (searching and sorting), and computational principles (randomness, concurrency, complexity). Intended for students participating in IDeATe courses or minors who have not taken 15-112.

Key Topics
Programming, JavaScript

Learning Resources
The course uses the p5.js variant of Processing for its programming language and toolkit. The Processing reference is online and supplemented by notes and examples on the course website. There are additional books, notes, and videos online from various authors and Processing instructors.

Course Relevance
For IDeATe minor students, non-science and engineering majors who want to learn programming skills and concepts.

Course Goals
The course develops skills and understanding of text-based programming in a procedural style, and the application of such skills to interactive art and design, information visualization, and generative media. The objective is art and design, but the medium is student-written software. Students will become familiar with basic software algorithms, including idioms of sequencing, selection, iteration, and recursion; elementary data structures (arrays, files, trees), object-oriented interfaces and functional abstraction, and other computational principles (randomness, concurrency, complexity).

Pre-required Knowledge
Basic computer skills such as typing and editing text, saving information in files, using a web browser and email.

Assessment Structure
Participation/Engagement - Mainly attending class and labs (10%), Examinations (30%), Exam #1, ~September 20 (30% of Examinations), Exam #2 ~October 18 (30% of Examinations), Exam #3 ~November 15 (30% of Examinations), Written Exam ~November 19 (60212) & 20 (15104) (10% of Examinations), Deliverables (60%) Technical Assignments (40% of Deliverables), Looking Outwards Reports (10% of Deliverables), Open-Ended Projects (50% of Deliverables), Weekly Projects (70% of Projects), Capstone Project (30% of Projects)

Course Link
https://csd.cs.cmu.edu/course-profiles/15-104-Introduction-to-Computing-for-Cre…