OSSU-computer-science/archives/01-introduction-to-computer-science-and-programming/README.md
2014-05-20 19:00:54 -03:00

3.1 KiB

01. Introduction to Computer Science and Programming

Link to the original course

Syllabus

About This Course

Strategic goals of this course:

  • Help students (who may or may not intend to major in computer science) to feel justifiably confident of their ability to write small programs.
  • Map scientific problems into computational frameworks.
  • Position students so that they can compete for jobs by providing competence and confidence in computational problem solving.
  • Prepare college freshmen and sophomores who have no prior programming experience or knowledge of computer science for an easier entry into computer science or electrical engineering majors.
  • Prepare students from other majors to make profitable use of computational methods in their chosen field.

This course can be summarized with these six major topics or objectives:

  • Learning a language for expressing computations—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

This course is designed to help you become skillful at making the computer do what you want it to do. Once you acquire this skill, your first instinct when confronted with many tasks will be to write a program to do the task for you. Said another way, we want to help you learn to apply computational modes of thought to frame problems, and to guide the process of deducing information in a computational manner.

This means that the primary knowledge you will take away from this course is the art of computational problem solving. Unlike many introductory level courses, having an ability to memorize facts will be of little help. This course is about learning to solve problems, not learning facts.

Table of Contents

UNIT 1

Lesson Archives
01 INTRODUCTION files
02 CORE ELEMENTS OF A PROGRAM files
03 PROBLEM SOLVING files
04 MACHINE INTERPRETATION OF A PROGRAM files
05 OBJECTS IN PYTHON files
06 RECURSION files
07 DEBUGGING files
08 EFFICIENCY AND ORDER OF GROWTH files
09 MEMORY AND SEARCH METHODS files
10 QUIZ 1 files