1,404
edits
No edit summary |
|||
| (16 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
Computational Thinking for Artists, Designers and Architects<br /> | Computational Thinking for Artists, Designers and Architects<br /> | ||
''Instructor:'' [[Jason Reizner]]<br/> | ''Instructor:'' [[Jason Reizner]]<br/> | ||
''Credits:'' 6 [[ECTS]], | ''Credits:'' 6 [[ECTS]], 4 [[SWS]]<br/> | ||
''Capacity:'' max. 15 students (see registration information below)<br/> | ''Capacity:'' max. 15 students (see registration information below)<br/> | ||
''Language:'' English<br/> | ''Language:'' English<br/> | ||
''[[Zeitraster|Date]]:'' Monday, 13:30 to 15:00<br/> | ''[[Zeitraster|Date]]:'' Monday, Lecture 13:30 to 15:00, Lab 15:15 to 16:45<br/> | ||
''Location:'' Marienstr. 7b, Room 103<br/> | ''Location:'' Marienstr. 7b, Room 103<br/> | ||
''First Meeting:'' ''' | ''First Meeting:'' '''Monday, 10 April 2017, 13:30''' | ||
==Description== | ==Description== | ||
"Computational thinking involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science."<br />– Jeannette M. Wing (2006)<br /><br /> | "Computational thinking involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science."<br /><em>– Jeannette M. Wing (2006)</em><br /><br /> | ||
Not everyone is a programmer, yet artists, designers and architects increasingly find it necessary to be able to think like one. Post-analog creative practice demands a functional understanding of computational processes in order to articulate ideas and realize projects programatically. This module introduces core computer science principles and programming concepts including data structures, variables, operators, control structures and functions, enabling participants to become familiar with C-syntax languages and develop the skills necessary to work effectively in Javascript, Processing or C/C++. Participants will also focus on identifying, selecting and implementing appropriate external resources, dependencies and libraries, while addressing relevant software development topics including design patterns, documentation and commenting, debugging, version control and licensing. | Not everyone is a programmer, yet artists, designers and architects increasingly find it necessary to be able to think like one. Post-analog creative practice demands a functional understanding of computational processes in order to articulate ideas and realize projects programatically. This module introduces core computer science principles and programming concepts including data structures, variables, operators, control structures and functions, enabling participants to become familiar with C-syntax languages and develop the skills necessary to work effectively in Javascript, Processing or C/C++. Participants will also focus on identifying, selecting and implementing appropriate external resources, dependencies and libraries, while addressing relevant software development topics including design patterns, documentation and commenting, debugging, version control and licensing. | ||
| Line 31: | Line 31: | ||
==Syllabus (subject to change)== | ==Syllabus (subject to change)== | ||
''' | <br /> | ||
'''10 April 2017'''<br /> | |||
''Week 1''<br /> | |||
Introduction<br /> | Introduction<br /> | ||
Course Organization<br /> | Course Organization<br /> | ||
| Line 37: | Line 39: | ||
<br /> | <br /> | ||
[[/EvaluationRubric | Semester Evaluation Rubric]]<br /> | [[/EvaluationRubric | Semester Evaluation Rubric]]<br /> | ||
[[/Assignment-10Apr17 | Assignment]]<br /> | |||
<br /><br /> | |||
'''17 April 2017'''<br /> | |||
''Week 2''<br /> | |||
No Class - Easter Monday<br /> | |||
<br /><br /> | |||
'''24 April 2017'''<br /> | |||
''Week 3''<br /> | |||
An abridged history of Computing<br /> | |||
What is Computational Thinking?<br /> | |||
<br /> | |||
[[/Sources-24Apr17 | Sources and Links from the Lecture]]<br /> | |||
[[/Assignment-24Apr17 | Assignment]]<br /> | |||
[[/SemesterProject | Semester Project Overview]]<br /> | |||
<br /><br /> | |||
'''1 May 2017'''<br /> | |||
''Week 4''<br /> | |||
No Class - Tag der Arbeit<br /> | |||
<br /><br /> | |||
'''8 May 2017'''<br /> | |||
''Week 5''<br /> | |||
'''Attention: No Class due to Deutsche Bahn'''<br /> | |||
<br /> | |||
Due to last-minute travel plan changes made necessary by the German Railway, this class meeting has been cancelled.<br /><br /> | |||
Please make sure you have completed the tasks from [[/Assignment-24Apr17 | 24. April]]<br /> | |||
and review the following text "On Software, or the Persistence of Visual Knowledge" from Wendy Chun for next week:<br /> | |||
http://www.brown.edu/Departments/MCM/people/chun/papers/software.pdf<br /> | |||
<br /> | |||
<br /> | |||
'''15 May 2017'''<br /> | |||
''Week 6''<br /> | |||
Foo = Bar: Variables and Data Types<br /> | |||
Hello, World: Functions and Operators<br /> | |||
if, while, do, for, else: Iteration and Control Structures<br /> | |||
<br /> | |||
[[/Sources-15May17 | Sources and Links from the Lecture]]<br /> | |||
[[/Assignment-15May17 | Assignment]]<br /> | |||
<br /> | |||
<br /> | |||
'''22 May 2017'''<br /> | |||
''Week 7''<br /> | |||
Pseudocode Show-n-Tell Discussion Round<br /> | |||
Under the Hood: Interpreters vs. Compilers<br /> | |||
or, See where the sausage is made<br /> | |||
<br /> | |||
[[/Sources-22May17 | Sources and Links from the Lecture]]<br /> | |||
[[/Assignment-22May17 | Assignment]]<br /> | |||
<br /> | |||
<br /> | |||
'''29 May 2017'''<br /> | |||
''Week 8''<br /> | |||
Recap: Iteration & Recursion, Interpreters & Compilers<br /> | |||
Why is this happening to me?<br /> | |||
Debugging & Existentialism<br /> | |||
<br /> | |||
[[/Sources-29May17 | Sources and Links from the Lecture]]<br /> | |||
[[/Assignment-29May17 | Assignment]]<br /> | |||
<br /> | |||
<br /> | |||
'''5 June 2017'''<br /> | |||
''Week 9''<br /> | |||
No Class - Pfingstmontag<br /> | |||
<br /> | |||
<br /> | |||
'''12 June 2017'''<br /> | |||
''Week 10''<br /> | |||
Midterm Presentations<br /> | |||
<br /> | |||
<br / > | |||
'''19 June 2017'''<br /> | |||
''Week 11''<br /> | |||
Libraries, Dependencies and Blobs<br /> | |||
Don't Copy that Floppy: Licensing, Attribution, Open Sources, Piracy<br /> | |||
<br /> | |||
[[/Sources-19Jun17 | Sources and Links from the Lecture]]<br /> | |||
[[/Assignment-19Jun17 | Assignment]]<br /> | |||
<br /><br /> | |||
'''26 June 2017'''<br /> | |||
''Week 12''<br /> | |||
Design Patterns and Architectural Considerations<br /> | |||
<br /> | |||
[[/Sources-26Jun17 | Sources and Links from the Lecture]]<br /> | |||
[[/Assignment-26Jun17 | Assignment]]<br /> | |||
<br /> | |||
<br /> | |||
'''3 July 2017'''<br /> | |||
''Week 13''<br /> | |||
No Class - xCoAx2017 Lisboa<br /> | |||
<br /> | |||
<br /> | |||
'''10 July 2017'''<br /> | |||
''Week 14''<br /> | |||
Commenting, Documentation and the Needs of Humans<br /> | |||
<br /> | |||
[[/Sources-10Jul16 | Sources and Links from the Lecture]]<br /> | |||
[[/Assignment-10Jul16 | Assignment]]<br /> | |||
<br /> | |||
<br /> | |||
'''17 July'''<br /> | |||
''Week 15''<br /> | |||
Final Presentations<br /> | |||
<br /> | |||
<br /> | |||