“MIT OpenCourseWare (OCW) is a web-based publication of virtually all MIT course content. OCW is open and available to the world and is a permanent MIT activity.”
The following are my notes for this program:
Introduction to Computer Science & Programming
Guttag, John. 6.00SC Introduction to Computer Science and Programming,Spring 2011. (Massachusetts Institute of Technology: MIT OpenCourseWare), http://ocw.mit.edu (Accessed 17 Feb, 2013). License: Creative Commons BY-NC-SA
MIT 600 Lecture 1:
Goals of the course; what is computation; introduction to data types; operators; and variables
Lecturers: Eric Grimson & John Guttag
Course Web site
Lecture 01
Course Goals: Develop skills for:
* Computational Thinking
* Understand code
* Understand abilities & Limits
* Map problems into computation
* Libraries = Code written by others
* Help you think like a computer scientist: “How do i write a piece of code that would help me solve this?”
What is computation?
1. Declarative: Statement of fact
2. Imperative: A description of how to do something
* Earliest computers were fixed program computers; i.e. a Calculator
* John Vincent Atanasoff (1941) linear equations
A stored program computer consists of:
1. Memory (contains a sequence of instructions)
2. Control Unit
3. ALU; Arithmetic logic unit
* A program is a recipe
* “With 6 primitives I can code anything” Alan Turing
The 3 dimensions of a programming language;
(There is no best programming language; this course uses Python)
1. High Level vs Low Level language;
~determined by how close are you to the guts of a machine.
2. General vs a Targeted Language;
~ do the primitives support a board range of applications vs a limited set
3. An Interrupted vs a Compiled Language;
~ With Interrupted, source code runs directly to interrupter towards an output.
~ With Compiled, source code runs to intermediate step, a checker / compiler , that creates object code. Considered faster.
Syntax vs Semantics;
* Syntax; What the legal expressions of this language?
* Static Semantics; What programs are meaningful?
* Semantics: What does the program mean?
Python: 2 Types of Values;
* Numbers:integers & floating points
* Strings;