c omp 110 – i ntroduction to p rogramming instructor: prasun dewan

23
COMP 110 – INTRODUCTION TO PROGRAMMING Instructor: Prasun Dewan

Upload: gertrude-brown

Post on 27-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

COMP 110 – INTRODUCTION TO PROGRAMMING

Instructor: Prasun Dewan

Page 2: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

PREREQUISITES

None

Page 3: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

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 4: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

THEATER ANALOGY

Play Concert Talk Speech Cooking Lessons Town Hall Meeting

Page 5: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

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 6: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

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 7: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

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 8: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

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 9: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

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 10: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

Processor

Compiler

Interpreter

Source Code

Platform Independent

Intermediate Code

Platform Specific Machine Code

TRANSLATING USING BOTH A COMPLIER AND AN INTERPRETER

Page 11: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

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 12: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

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 13: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

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 14: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

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 15: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

WHY JAVA

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

Programming Principles Can Write Teaching Tool (ObjectEditor)

Page 16: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

JAVA VERSIONS, DIALECTS & PROGRAMMING ENVIROMNET

JDK 1.5+ Eclipse IDE Programming Environment Will not matter

Page 17: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

COMPUTER VS. PROGRAM MODEL

Processor

Compiler

Program (source code)?

Page 18: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

STRUCTURING IN SCRIPTS

Script

Performer

Theater

Follows

Page 19: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

STRUCTURING IN SCRIPTS

Script

Introduction Body Conclusion

Paragraph 1 Paragraph 2

Sentence 1 Sentence 2

Script components are abstract.

So are program components!

Page 20: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

COMPUTER VS. PROGRAM MODEL

Processor

Compiler

Program (source code)?

Page 21: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

OUTLINE

Intuitive Explanation Two Concrete Examples Calculators

square BMI

Basic Java program elements, programming styles, error handling

Running and interacting with a Java program

Page 22: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

STRUCTURING IN SCRIPTS

Script

Performer

Theater

Follows

Page 23: C OMP 110 – I NTRODUCTION TO P ROGRAMMING Instructor: Prasun Dewan

STRUCTURING IN SCRIPTS

Script

Introduction Body Conclusion

Paragraph 1 Paragraph 2

Sentence 1 Sentence 2

Script components are abstract.

So are program components!

Next chapter discusses abstract program components