c omp 110 – i ntroduction to p rogramming instructor: jason carter

15
COMP 110 – INTRODUCTION TO PROGRAMMING Instructor: Jason Carter

Post on 19-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

COMP 110 – INTRODUCTION TO PROGRAMMING

Instructor: Jason Carter

Page 2: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

COMPUTER WORLD

Hardware MemoryOperating System Memory PageProgram Memory WordProcessor Memory Address Instruction (e.g. add 2 to 5) Running a ProgramSource Code Interactive ProgramObject Code Non-interactive (Batch) ProgramProgramming Language Program argumentsMachine Language Runtime Programmers EditorLibrary (of Code) Editing ProgramsTranslator (Compilers/Interpreter) Lexical ErrorUsers Syntax Error Disks Semantics Error

Logic ErrorDebuggingStyle Principles

Page 3: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

THEATER ANALOGY

Play Concert Talk Speech Cooking Lessons Town Hall Meeting

Page 4: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

THEATER WORLD – PART 1

Performer

Theater

Performer

Stage

Audience

Performs

Real Trial

Performance Script

Follows

Performance Language

Written in

Notebook or Teleprompte

r

Stored in

Archive

Fetched from

Stagehand

Assists

Management

Manages

Page 5: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

THEATER WORLD – PART 2

Performance Script

Performance Language

Written in

Original ScriptScript

LanguageWritten in

TranslatorTranslator

(Interpreter)

Writes entire script

Reads entire script

Speaks sentence

Hears sentence

Page 6: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

THEATER WORLD – PART 3

Original ScriptScript

LanguageWritten in

Script Writer

Written by

Typewriter, Text Editor

Uses

Secretary

Reference Material

LinksSyntax, Semantics,

Logic, & Style

Problems

Checked by

Word Processor, Script Writer

Translator / Interpreter,Stagehand, Performer

Page 7: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

COMPUTER WORLD – PART 1

Processor

Computer

Users

Interacts with

Real Debugging

Object Code

Follows

Machine Language

Written in

Memory

Stored in

Disk, Tape

Fetched from

Runtime

Assists

Operating System

Manages

Page 8: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

COMPUTER WORLD – PART 2

Object CodeMachine

LanguageWritten in

Source CodeProgramming Language

Written in

Compiler Interpreter

Writes entire

source code

Reads source code

Writes statement

Reads statement

Page 9: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

Processor

Compiler

Interpreter

Source Code

Platform Independent

Intermediate Code

Platform Specific Machine Code

TRANSLATING USING BOTH A COMPLIER AND AN INTERPRETER

Page 10: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

THEATER WORLD – PART 3

Source CodeProgramming Language

Written in

Programmer

Written by

Typewriter, Text Editor

Uses

Linker

Libraries

LinksSyntax, Semantics,

Logic, & Style

Problems

Checked by

Editor, Programmer, Translator, Operating

System Runtime, Processor

Page 11: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

COMPUTER VS. THEATERComputer Theater

Hardware TheaterOperating System Theater ManagementProgram PerformanceProcessor PerformerInstruction (e.g. add 2 to 5) Performance action (e.g. walk 3

steps.)Source Code Original ScriptObject Code Performance ScriptProgramming Language Script Language (e.g. German)Machine Language Performance Language (e.g.

English)Programmers Script WritersLibrary (of Code) Reference Material (from Books)Translator (Compilers/Interpreter) Translator (Before/During

Performance)Users AudienceDisks Archival Storage AreasMemory Script performance notebook

accessible to performersHardware Theater

Page 12: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

COMPUTER VS. THEATERComputer Theater

Memory Page A Notebook PageMemory Word A Notebook LineMemory Address (Page Number, Word Number)

Line Identification (Page Number, Line Number)

Running a Program Performing a ScriptInteractive Program Performance with audience

participationNon-interactive (Batch) Program Performance with no audience

participationProgram arguments Special instructions at start of

performanceRuntime Stage-HandsEditor Typewriter/WordprocessorEditing Programs Writing ScriptsLexical Error Spelling ErrorSyntax Error Grammar ErrorSemantics Error Inconsistencies in ScriptLogic Error Execution Error Debugging Staging trial performancesStyle Principles Style Principles

Page 13: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

COMPUTER VS. THEATER

CPU is fast: can do several performances at one time.

CPU is dumb: no improvisation possible. Machine language much lower-level than

programming language.

Page 14: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

WHY JAVA

Modern, modular (object-oriented) language. Good Error Detection. Rich Library Embodying Many Good

Programming Principles Can Write Teaching Tool (ObjectEditor)

Page 15: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Jason Carter

JAVA VERSIONS, DIALECTS & PROGRAMMING ENVIRONMENT

JDK 1.5+ Eclipse IDE Programming Environment