Computer Simulations and Interactive Media is a course on design and prototyping. This course will introduce students to the concepts of web app development, game design, and artificial intelligence through basic programming and mathematics. The course will provide a general overview of simulations, interactivity, and prototyping, with emphasis on culture, history, real world practices, and applications. Students will journal their explorations, develop and build a final team project, and present their projects via live demo. After the course, each student will have their own online design and programming portfolio.
Instructor: Sherol Chen
E-Mail: sherolchen@gmail.com
Course Website: spcs.sherolchen.com
Meeting Time: 9 am - 11:30 am MTWRF
Class Room: 200-205 Main Quad
Teaching Assistants
Peter Farejowicz
Julie Ni
Texts and Materials
Course Topics
Topics and Schedule are subject to change
| Lecture | Assignment | Reading |
Mon | Introduction and Setup | Wordpress and Github signup, JS Math Quiz | Cookbook ch 1 |
Tue | History and Foundations of Computing | JS Interactive Fiction | Cookbook ch 2 |
Wed | Datatypes and Data Structures | Twine IF, JS Mole Game | Cookbook ch 3 |
Thr | Algorithms and AI | Processing.js, JS Tile Game | Turing Paper, Cookbook ch 4 |
Fri | Guest Speaker, OOP, and Graphics | Processing Sorting, JS Platformer | Design Book, Cookbook ch 5 |
Weekend | | | |
Mon | Web Design | Processing Sorting, JS Fighter | Gates Letter, Cookbook ch 6 |
Tue | Graphs and TSP | Processing TSP, JS Shooter | Cookbook ch 7 |
Wed | Field Trip: Exploratorium | Field Trip: Exploratorium | |
Thr | Logic and Game Theory | Processing A*, JS FPS | Cookbook ch 8 |
Fri | Arduino and Circuits | Arduino | |
Weekend | | | |
Mon | Game Design and Game Studies | Processing Tic Tac Toe, JS RPG | Cookbook ch 9 |
Tue | Cellular Automata | Guest Speaker, Final Projects | |
Wed | Field Trip: Computer History Museum | Final Project | |
Thr | Final Project Presentations | Final Project Presentations | |
Assignments
Week 1
Day 1 - Prime Numbers, Permutations, Combinations, Internet, Networks, Github, Wordpress, Command-Line Arguments, Domain Name,
DNS, Hosting, Sieve of Eratosthenes, Top Level Domain, Client Side, Server Side
Day 2 - History, Bit Manipulation, Base Conversion, Parameters, Functions, Assembler, Microprocessor, Microcontroller, IDE, Variables, For-Loop, Game-Loop/Draw-Loop, Machine Language, Boolean, Hexadecimal, Octal
Day 3 - Data Structures, Datatypes, Finite State Machines, Logic Error, Syntax Error, Interactive Fiction, Twine, Arrays, Linked Lists, Stacks, Queues, Binary Trees, Bits/Bytes, Typed Language, Dynamically Typed Language, Selection Sort, Bubble Sort, Insertion Sort, Truth Tables
Day 4 - Turing, AI, Algorithms, Believability, Big O, Processing.js, Networking, Servers, Turing Test, Eliza Effect, Binary Search, Animations, Binary Search Trees, Loebner, Computer Graphics, Web Apps, Canvas
Day 5 - Object Oriented Programming, Game Design, Design Docs, Classes, Constructor, Methods, Swap Function, Nested For-Loops, if-else
Week 2
Day 6 - OOP, Constructor, Data Members, Methods, Classes, Objects, FSM, Nested For-Loops, Prototyping, Cascading Style Sheets,
HTML, NLG/NLP
Day 7 - Graph Theory, Edges, Vertices, States, Adjacency Matrix, Path Finding, Shortest Path, Traveling Sales Person, Depth First Search, Breadth First Search, Directed/Undirected Graph, Weighted/Unweighted Graph
-
Day 9 - A*, Abstraction, Polymorphism, Inheritance, Encapsulation, (Imperative/Functional/Declarative), Fully Connected Graph, Heuristic, Prisoners Dilemma, Bayes Rule, Abstraction, Polymorphism, Inheritance, Encapsulation, Nash Equilibrium
Day 10 - Arduino, Circuits, and Logic, DeMorgans Law, Implication, And Gates, Or Gates, Analog, Digital, Monty Hall, Probabilities, Information Conformity
Week 3
Day 11 - Cellular Automata, Game Design, Ludus, Paida, Narrative, Narratology vs Ludology debate, Math Genealogy Project, Instantial, Procedural, Affordances, Agency, GDC, Game AI, Unity, Alternate Reality Game, Procedural Content Generation
-
-
-
Daily
Research Journals
In general, make your links clickable! Put at least 1 photo on every page/post. PAGES and POSTS are NOT THE SAME!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Note: the graph above only goes from 0-8. These graphs are not to scale in relation to each other. Also 1 byte = 8 bits (sorry!).