Archives For February 2013

MIT 6.00SC Lecture 3

gerarddolan —  February 23, 2013 — Leave a comment

mitx_med

“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 23 Feb, 2013). License: Creative Commons BY-NC-SA

MIT 600 Lecture 3:
Operators and operands; statements; branching, conditionals, and iteration

Lecturers: Eric Grimson & John Guttag
Course Web site

 

Lecture 03

3 different items required to write code:

1.Data
* Numbers
* strings
* booleans

2. Operations
* addition & multiplication
* and / or
* etc

3. Commands
* assignment
* input / output
* conditionals aka branches
* loop mechanisms

In talks to date, conversation around good programming style
* using comments
* type discipline (operands)
* descriptive use of good variable names
* testing all branches

Focus on this session:

COMMON PATTERNS OF CODE
Iterative approach, structure;
* choose a variable that is going to “count”
* initialize it outside of the loop
* setup the right end test (includes variable)
* construct the block of code (incs changing the variable)
* decide on what to do upon completion

TOOLS TO USE
* create a flow chart
* classes of computation (simple to complex)
* simulatation of the code
* exhaustive enumeration (trying all reasonable values until complete)

Tuple: An order sequence of elements
* foo = (1,2,3,4)
* selection foo[0]
* slicing foo [1,5]

Strings are an ordered sequence of characters as well

Touring complete language are captured with:
* Data
* Operations
* Commands

 

MIT 6.00SC Lecture 2

gerarddolan —  February 18, 2013 — Leave a comment

mitx_med

“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 18 Feb, 2013). License: Creative Commons BY-NC-SA

MIT 600 Lecture 2:
Operators and operands; statements; branching, conditionals, and iteration

Lecturers: Eric Grimson & John Guttag
Course Web site

 

 

Lecture 02

2 Fundamental for designing programs* some representation of fundamental data
* a way to give instructions to the computer

Primitive Data =
* numbers
* strings
for these we have a value & a type

Combine in expressions:
* operand
* operators

Interp:
* Eval
* Prints

Script – no printing unless explicit

Type checking – different languages fall on a spectrum of Strong to Weak

Type Discipline:
a) checking out operators or procedures to see what they do under different circumstances
b) what type of arguements or operands to apply to operators

Operator Precedence:
when in doubt use paranthesis

Variables & Values:
done by assigning an Assignment statement

Where can you Variables?
used anywhere that its legal to use the value

Statements =
legal commands that Python can interpret
i.e. Print, Assignment

Sequence of 28 keywords excluded in Python

Straight line programs vs
Branching Programs; is something that can change the order of a program based on a test

Colon identifies a block
Equal sign is an assignment

Test Cases
Have one for each path of the code

Boolean Combination
and, or, not

MIT 6.00SC Lecture 1

gerarddolan —  February 17, 2013 — Leave a comment

mitx_med

“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;

images

“3 Days, 25 Speakers, 10 Workshops

The days of relying on a UX Designer for the whole experience are done. Collaboration has won out, and every team member needs to know how to contribute to product development. At LeanUX NYC, entrepreneurs, designers, developers and user experience professionals will learn about the entire product development lifecycle from accomplished practitioners and leaders in the LeanUX Design community.”

DATE: April 11th – 13th, 2013
VENUE: The conference will be held in downtown Manhattan at NYU Stern’s beautiful Tisch Hall. Workshops and open space will be held in the Berkley Center for Entrepreneurship and Innovation.
Registration now open.

2013-02-16_06-35-46

“The meeting point of design, technology, & everything interactive.”

“Frontiers of Interaction was founded in 2005 to explore topics and ideas in the field of Interaction Design. In a very short time, it has become known as the leading Innovation conference in Italy.”

DATE: October 24-25, 2013
VENUE: Milan, Italy
Registration now open.

BreakingDevelopment
“Breaking Development focuses on new, emerging techniques for web development and design for mobile devices. Our speakers are hand-picked to make sure you get challenging, well-delivered talks from a variety of different perspectives.”

DATE: April 8 – 10, 2013
VENUE: Gaylord Palms • Orlando, FL
Registration now open.