Introduction to Computer Science

Course Rationale:
Introduction to Computer Science is a course where students collaborate to create mobile apps that make a difference in people’s lives.  You solve real people’s needs and wants with your creativity.  Students are introduced to programming and learn how to make computers work together to put your designs into practice.  Student teams create an Android interface to solve a problem that the team defines.  Students learn fundamental computer science concepts using MIT App Inventor and Python. 

Course Description and Objectives:
Introduction to Computer Science is a project-based curriculum where students learn programming, computational thinking, and creativity skills in the context of the professional programming process.  Students develop skills in six key areas:
  • Learning a language for expressing computations—MIT App Inventor and Python
  • Learning about the process of writing and debugging a program
  • Learning about the process of moving from a problem statement to a computational formulation of a method for solving the problem
  • Learning a basic set of "recipes"—algorithms
  • Learning how to use simulations to shed light on problems that don't easily succumb to closed form solutions
  • Learning about how to use computational tools to help model and understand data

Students will initially develop skills that lay the foundation for producing web-ready communications:  design principles, design documents, storyboards, web development, shared project management skills such as interviewing and project scheduling, peer review, and redesign.  Project activities focus on developing effective communications that can be deployed on the web.  Students develop a widget, a variety of graphic images, a client website, and a web portfolio.  A great deal of flexibility is implied in this curriculum.  The key skills emphasized initially are:

  • “Soft” skills such as interviewing and responding to feedback
  • Designing a website for clients
  • Problem solving that helps support multiple perspectives
  • Reflection about the design process and effective communication
  • Peer teaching and evaluation in a collaborative environment
  • Technical web publishing

The last part of the course builds on student design and development skills by focusing on rich media development.  Students continue to work individually or on teams and produce rich media communications such as interactive games, digital narratives and mobile applications.  They focus on effective rich media design, multimedia storyboarding, design specifications, and iterative development with clients.  They produce design documents and visual comps that clients review.  They develop rich media designs that solve specific communication challenges.  They build technical skills to address client needs.  The key skills emphasized in this semester are:

  • “Soft” skills such as interviewing and responding to feedback
  • Communication with clients, using design documents or specifications
  • Design and redesign according to client specifications
  • Technical multimedia skills such as film effects and transitions
  • Design solutions, including effective navigation systems and digital narratives

Duane Schnabel,
Aug 2, 2016, 3:17 PM