CIS 101: Introduction to Computer Science with Compute to Create TM
Prerequisite: None
Satisfies: Formal reasoning requirement for undergraduates
Intended Audience: Non-engineering students.
Web site: https://sites.google.com/site/penncis101/
Credit: 1 cu
This course provides a gentle introduction to computing for the student who is not an engineering major. A variety of real-world technologies are explored from a software designer's (rather than a consumer's or user's) point of view. Students will learn a variety of computing principles that are employed in the creation of mobile apps, computer games, web pages, and special effects. In the process, several big ideas of computer science are demystified including the nature of digital data, programming, algorithms, and abstraction. Students hone design skills through the creation of computational artifacts (e.g. artwork, apps, games) and improve problem solving skills through the analysis of the logical and linguistic aspects of programming. Students develop teamwork skills through group projects and leadership skills via the service learning component of the course which involves mentoring local K-12 students for a portion of the semester. Upon completion of the course, students will have gained proficiency with "computational thinking"; they will be conversant with terms used by professional software developers and prepared either to learn additional computational technologies on their own or to take CIS110 (or CIS120 if seeking a challenge).
Note: This course is not a course about learning how to use applications (e.g. Photoshop, web design software). It's a course about learning how such applications are designed and built with software.
The textbook is available as a free pdf. (Students may purchase their own copies):
Schedule
Note: The schedule is tentative and subject to change.
Weeks 1-3
Theme: How are games, animations, and simulations created?
Technologies: Scratch
Concepts: visual (drag 'n drop) computing, pseudocode, conditional logic, iteration, sequencing, nesting, evaluation, events, variables, debugging, design
Weeks 4-6
Theme: How are mobile apps created? What is software? What is digital data and how is it processed?
Technologies: AppInventor
Concepts: mobile computing, digital data, memory, base 2/10/16/n, computational thinking, abstraction
Weeks 7-8
Theme: How does "real" software work (now that we've experienced visual computing)?
Technologies: Processing
Concepts: text-based computing, modularity, functions, code tracing, algorithms. running time of an algorithm, recursion, compiling, testing, debugging
Weeks 9-11
Theme: How is software designed to manage large and complex data? How are passive and interactive web pages created?
Technologies may include: Java, HTML, mashups
Concepts: object oriented programming, working with large data sets, collections, web programming
Weeks 11 and 12
Service Projects and Demos
Concepts: Design, develop, demo a service project
Assignments and Grading
Late Policy
15% deduction for work submitted up to 48 hours late. No credit for work submitted 48+ hours after the deadline.
Compute to Create is a book series and a trademark of Jean Griffin