Design Computation II: Algorithms. Syllabus

Similar documents
Course Content Concepts

GACE Computer Science Assessment Test at a Glance

BIODIVERSITY: CAUSES, CONSEQUENCES, AND CONSERVATION

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

CS 100: Principles of Computing

3D DIGITAL ANIMATION TECHNIQUES (3DAT)

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Strategy and Design of ICT Services

ECON492 Senior Capstone Seminar: Cost-Benefit and Local Economic Policy Analysis Fall 2017 Instructor: Dr. Anita Alves Pena

City University of Hong Kong Course Syllabus. offered by Department of Architecture and Civil Engineering with effect from Semester A 2017/18

Laboratorio di Intelligenza Artificiale e Robotica

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

Data Structures and Algorithms

SYLLABUS: RURAL SOCIOLOGY 1500 INTRODUCTION TO RURAL SOCIOLOGY SPRING 2017

Scottsdale Community College Spring 2016 CIS190 Intro to LANs CIS105 or permission of Instructor

Agent-Based Software Engineering

CS 101 Computer Science I Fall Instructor Muller. Syllabus

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

IAT 888: Metacreation Machines endowed with creative behavior. Philippe Pasquier Office 565 (floor 14)

Seminar - Organic Computing

SAM - Sensors, Actuators and Microcontrollers in Mobile Robots

Earl of March SS Physical and Health Education Grade 11 Summative Project (15%)

95723 Managing Disruptive Technologies

EDUC-E328 Science in the Elementary Schools

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

Be aware there will be a makeup date for missed class time on the Thanksgiving holiday. This will be discussed in class. Course Description

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology

Professors will not accept Extra Credit work nor should students ask a professor to make Extra Credit assignments.

4. Long title: Emerging Technologies for Gaming, Animation, and Simulation

BUS Computer Concepts and Applications for Business Fall 2012

EDIT 576 DL1 (2 credits) Mobile Learning and Applications Fall Semester 2014 August 25 October 12, 2014 Fully Online Course

Business Computer Applications CGS 1100 Course Syllabus. Course Title: Course / Prefix Number CGS Business Computer Applications

Required Materials: The Elements of Design, Third Edition; Poppy Evans & Mark A. Thomas; ISBN GB+ flash/jump drive

Multimedia Application Effective Support of Education

Philosophy in Literature: Italo Calvino (Phil. 331) Fall 2014, M and W 12:00-13:50 p.m.; 103 PETR. Professor Alejandro A. Vallega.

Laboratorio di Intelligenza Artificiale e Robotica

BA 130 Introduction to International Business

Learning Optimal Dialogue Strategies: A Case Study of a Spoken Dialogue Agent for

University of Florida SPM 6905 Leading and Coaching Athletics Online Course Summer A 2017

Second Step Suite and the Whole School, Whole Community, Whole Child (WSCC) Model

Axiom 2013 Team Description Paper

Android App Development for Beginners

Course Syllabus p. 1. Introduction to Web Design AVT 217 Spring 2017 TTh 10:30-1:10, 1:30-4:10 Instructor: Shanshan Cui

Introduction to Information System

Coding II: Server side web development, databases and analytics ACAD 276 (4 Units)

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

Spring 2015 IET4451 Systems Simulation Course Syllabus for Traditional, Hybrid, and Online Classes

SYLLABUS. EC 322 Intermediate Macroeconomics Fall 2012

EDIT 576 (2 credits) Mobile Learning and Applications Fall Semester 2015 August 31 October 18, 2015 Fully Online Course

POFI 1349 Spreadsheets ONLINE COURSE SYLLABUS

MARKETING ADMINISTRATION MARK 6A61 Spring 2016

Biology 1 General Biology, Lecture Sections: 47231, and Fall 2017

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

Visualizing Architecture

Syllabus: PHI 2010, Introduction to Philosophy

ECO 2013: PRINCIPLES OF MACROECONOMICS Spring 2017

TA Decision Chart WHAT IS THIS RESOURCE? DESCRIPTION AND CONTACT INFORMATION POLICIES

CS Course Missive

Computer Science (CS)

ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob

National Survey of Student Engagement (NSSE) Temple University 2016 Results

PUH399/PUH690: Special Topics in Public Health. Past, Present, and Future of Public Health across the Southeast

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

SOFTWARE EVALUATION TOOL

MBA6941, Managing Project Teams Course Syllabus. Course Description. Prerequisites. Course Textbook. Course Learning Objectives.

Backwards Numbers: A Study of Place Value. Catherine Perez

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

Firms and Markets Saturdays Summer I 2014

FINANCE 3320 Financial Management Syllabus May-Term 2016 *

CENTRAL MICHIGAN UNIVERSITY COLLEGE OF EDUCATION AND HUMAN SERVICES

What s in a Step? Toward General, Abstract Representations of Tutoring System Log Data

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

Corporate Communication

ANT 3520 (Online) Skeleton Keys: Introduction to Forensic Anthropology Spring 2015

Adler Graduate School

Writing Research Articles

Study in Berlin at the HTW. Study in Berlin at the HTW

Syllabus ENGR 190 Introductory Calculus (QR)

MGMT 3362 Human Resource Management Course Syllabus Spring 2016 (Interactive Video) Business Administration 222D (Edinburg Campus)

Control Tutorials for MATLAB and Simulink

CS177 Python Programming

Ministry of Education, Republic of Palau Executive Summary

PSCH 312: Social Psychology

San José State University Department of Psychology PSYC , Human Learning, Spring 2017

Carolina Course Evaluation Item Bank Last Revised Fall 2009

NTU Student Dashboard

CENTRAL MAINE COMMUNITY COLLEGE Introduction to Computer Applications BCA ; FALL 2011

Strategic Management (MBA 800-AE) Fall 2010

Monday/Wednesday, 9:00 AM 10:30 AM

Class Tuesdays & Thursdays 12:30-1:45 pm Friday 107. Office Tuesdays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

Maintaining Resilience in Teaching: Navigating Common Core and More Online Participant Syllabus

CPMT 1303 Introduction to Computer Technology COURSE SYLLABUS

Module Title: Managing and Leading Change. Lesson 4 THE SIX SIGMA

INDES 350 HISTORY OF INTERIORS AND FURNITURE WINTER 2017

INTRODUCTION TO CULTURAL ANTHROPOLOGY ANT 2410 FALL 2015

Counseling 150. EOPS Student Readiness and Success

Self Study Report Computer Science

User Guide. LSE for You: Graduate Course Choices. London School of Economics and Political Science Houghton Street, London WC2A 2AE

Course Syllabus MFG Modern Manufacturing Techniques I Spring 2017

leading people through change

Transcription:

48-784 Design Computation II: Algorithms Fall Semester 2017 Mini A2 6 units Tuesdays 1.30 4:20pm (CFA 317) Open to upper-year undergraduate and graduate students Prerequisite: 48-782 (or instructor s permission, which may take the form of an entrance assignment) Instructor: Ramesh Krishnamurti ramesh@cmu.edu Teaching Assistant: Pedro Veloso pveloso@andrew.cmu.edu Office Hours: TBD Syllabus Course description This is a fast paced intense half-semester technical object-oriented programming course targeted at design students with an emphasis on algorithms and on producing clear, robust, testable and effective code. This course assumes familiarity with basic Python programming language as provided by the course, 48-782 Design Computation I: Programming. Learning outcomes Upon the successful completion of this course, students will be able to: develop problem-solving skills using Python applied to new problems in design explore exemplar form-finding algorithms produce clear, robust, and effective code in Python by o o o employing modular, top-down design using appropriate Python datatypes, structures, constructs and libraries proactively designing and writing test cases to effectively test and debug code develop an effective programming style based on established standards, practices, and guidelines write a long (> 500 lines) program in Python to implement a graphics-based solution to a problem originating in design The course consists of lectures, computer cluster instruction and assignments. References There is no textbook but the following are useful references. Timothy A Budd. Exploring Python. McGraw-Hill. 2009. Mark Lutz. Learning Python, 5 th Edition. O Reilly. 2013. Marina von Steinkirch (bt3) An introduction to Python & Algorithms, 2 nd Edition, 2013. Michael T Goodrich, Roberto Tomassia, Michael H Goldwasser, Data Structures and Algorithms in Python, Wiley 2013.

48-784 DC II: Algorithms 2 Other books that are useful: Kenneth Lambert, Fundamentals of Python: From First Programs through Data Structures, 2010. Allen B Downey, Think Complexity, Version 2.0.10, Green Tea Press, 2016. Jason Brownlee, Clever Algorithms: Nature-Inspired Programming Recipes, 2011. Russell C. Eberhart, Yuhui Shi, Swarm Intelligence, Morgan Kaufmann, 2001 Stuart Rusell, Peter Norvig, Artificial Intelligence: A Modern Approach, (3 rd Edition), 2009 Design related computation books that are useful: Lionel March, Philip Steadman, The Geometry of Environment, MIT Press, 1974 Philip Steadman, Architectural Morphology, Pion, 1983 Lionel March (ed), The Architecture of Form, Cambridge University Press, 1976 Christopher Alexander, Notes on Synthesis of Form, Harvard University Press, 1964 Online resources Python >> general support for programming in Python Lynda >> great video tutorials on all things digital. Sign in through CMU for free access Software platform Repl, Sublime, Canvas All course material will be on Canvas. We will be using Canvas for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the teaching team. Rather than emailing questions to the teaching staff, we encourage you to post your questions on Canvas. Course Requirements Two Assignments and a project. Grading Grades are based on two assignments, and a project. Each has two parts: a written part and a coding part.

48-784 DC II: Algorithms 3 The written part contains questions on data structures and algorithms. These questions may refer to excerpts from books, papers or websites. However, as this is not a seminar course, the questions will address concepts, analysis and implementation of algorithms. Students will receive feedback on each assignment. The breakdown for overall grade is as follows: Project 50% Assignments 50% Grades are based on the following scale with a finer ± refinement: The coding part refers to the algorithms and data structures that will be implemented. It may consist of multiple exercises and challenges. The student will select a subset of these to implement. be graded (to be specified in the assignment). The code itself or an animation of the results will be graded. A: 90% and over B: 80-89% C: 70-79% D: 60-69% R: < 60% Students are not graded on a curve, however, we will consider the degree of difficulty experienced in the assignments in determining the final scores. Prerequisite 48-782 (or instructor s permission, which may take the form of an entrance assignment to demonstrate familiarity with basic Python programming) Policies All university academic and student policies as set out in http://www.cmu.edu/graduate/policies/ and https://www.cmu.edu/policies/student-and-student-life/index.html apply to this course. Specifically: You are expected to be on time at all lecture and lab sessions. Please backup your work in the cloud. We cannot accept hardware failure as a valid excuse. You may not copy code without citation. Copying code without citation is plagiarism. Late work may result in a reduced grade.

48-784 DC II: Algorithms 4 Email should only be used for crucial queries and concerns. Please direct software related questions to Piazza or to Pedro during office/lab sessions. Accommodations for students with disabilities If you have a disability and have an accommodations letter from the Disability Resources office, I encourage you to discuss your accommodations and needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at access@andrew.cmu.edu. Student well-being and support Carnegie Mellon University is deeply committed to creating a healthy and safe campus community including one that is free from all forms of sexual and relationship violence. To that end, University Health Services, the Office of Community Standards & Integrity, and the Office of Title IX Initiatives have partnered to expand their educational efforts for graduate students in this domain. There is an educational opportunity for all graduate students at Carnegie Mellon that reflects its commitment to sexual assault and relationship violence prevention as well as to your overall safety: Haven Plus for Graduate Students. For more information follow the link: https://shib.everfi.net/login/default.aspx?id=carnegiemellonhavenplus Additionally, it is important to take care of yourself and try as best as possible to reduce, preferably avoid, stress. Maintain a healthy lifestyle by eating well, exercising, getting sufficient sleep and taking some time to relax. All of us benefit from support during times of struggle. There are many helpful resources available to all students on campus. Asking for support sooner rather than later is more often helpful. If you or anyone you know is experiencing academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help. If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night: CaPS: 412-268-2922 Re:solve Crisis Network: 888-796-8226 If the situation is life threatening, call the police: On campus: CMU Police: 412-268-2323 Off campus: 911 If you have questions about this or your coursework, please let us know.

48-784 DC II: Algorithms 5 Course Schedule* * Schedule subject to changes Week Lecture & lab topics design problem Assignment 1 Sequential data-structures and search introduction to course introduction to analysis of algorithms modeling the growth of functions asymptotic notation sequential data-structures in Python linked lists flexibility and references, implementing linked lists in OOP stacks and queues linked list FIFO and linked list LIFO Assignment 1 out 10/24/17 Design shape grammar 2 Trees trees & applications of trees data representation game states arrangements (divisions) layouts binary trees search in trees tree traversals: pre-, in-, post-order backtracking topological sort 10/31/17 Design rectangular dissections 3 Graphs graphs & applications of graphs navigating a map solving a maze solving a game (min-max) social networks graph search breadth-first (BFS) depth-first (DFS) backtracking [optional A*, Djikstra & Kruskal algorithms] graph algorithms graphic degree sequences, connected components, transitive closure Assignment 1 due Assignment 2 out 11/07/17 Design adjacency and connectivity 4 MVC GUI a pattern for GUI: MVC model-view-controller overview of Python modules: AI and CG 11/14/17 PROJECT Open session

48-784 DC II: Algorithms 6 5 Complexity the idea of complexity bottom-up simulation branching systems L-systems cellular systems cellular automata (CA) Game of Life (GoL) reaction diffusion (RD) diffuse limited aggregation (DLA) agents boids 11/21/17 Design self-organizing city Assignment 2 due Project out PROJECT 5 min show 6 Optimization an evolutionary model for optimization searching for the best metaheuristics simulated annealing generative algorithm swarm intelligence 11/28/17 Design the fittest form will survive 7 Project review 12/05/17 PROJECT a working prototype 8 Last day PROJECT the final prototype Project due 12/12/17