SlideShare a Scribd company logo
Copyright © 2002 W. A. Tucker 1
Chapter 1 Lecture Notes
Bill Tucker
Austin Community College
COSC 1315
Copyright © 2002 W. A. Tucker 2
Programming
• Programming is Problem Solving
• People use programs to “solve problems”
• Designing a program is like “solving a
problem”
• Make a program run properly is also
“solving a problem”
Copyright © 2002 W. A. Tucker 3
My Favorite Phrase
• The computer made a mistake!
• Computers don’t make mistakes unless
they are BROKEN
• People make mistakes
• People write programs
• People write programs that make mistakes
Copyright © 2002 W. A. Tucker 4
Computer Hardware
• The main parts of a computer are
– Memory
• Main memory
– RAM
– Volatile memory
• Secondary memory (secondary storage)
– Files
– Non-Volatile
– Input / Output
– Central Processing Unit
Copyright © 2002 W. A. Tucker 5
Processing Data
• Processing of data occurs within the CPU
– Data must be moved from storage to the CPU for
processing to occur
– The CPU must be told where the data is located
– All data stored in main memory is referenced by a
memory address
– Example: A = B + 12
• Get the contents of memory location 00BE34 (B)
• Add 12 to the value
• Store the value into memory location 00BE38 (A)
Copyright © 2002 W. A. Tucker 6
Computer Software
• Operating Systems manage and control
the resources of a computer
– EX: Windows 98, Windows 2000,
Windows XP, UNIX, Lynix, MAC/OS, etc
– Most operating systems provide a graphical
user interface (except UNIX and Lynix)
• Application Software
– Programs written to perform a specific task
– EX: Office 2000, Office XP, Quicken, etc.
Copyright © 2002 W. A. Tucker 7
Computer Instructions
• Programmers must “tell the computer what
to do”
• The computer will do exactly what the
programmer tells the computer to do,
nothing more and nothing less.
Copyright © 2002 W. A. Tucker 8
Computer Language
• Computers understand only the binary
number system (zeros and ones)
– All data stored in the computer is stored as a
series of zeros and ones
– All instructions telling the computer what to do
are stored as a series of zeros and ones
• People do not naturally think in terms of
zeros and ones (the binary number
system)
Copyright © 2002 W. A. Tucker 9
Programming Languages
• Programming languages allow a programmer to
give the computer instructions in a manner that
the programmer can understand
• Assembly Language is a low level language,
where the programmer uses a mnemonic
(abbreviation) to communicate an instruction to
the computer
– EX: “A” or “add” for addition
• This mnemonic is translated into machine
language (binary) by a program called an
assembler
Copyright © 2002 W. A. Tucker 10
More on Programming Languages
• Assembly language is a one for one mapping to the
machine language and has to be rewritten for each
machine (not all machine languages are the same)
• An Assembler translates assembler code into
machine language that a computer may execute
• High level languages were created to allow
programmers to write at a level where one
programming instruction is converted into several
machine language instructions and to avoid having
to constantly rewrite the program
• A compiler converts high level language into
machine language that a computer may execute
Copyright © 2002 W. A. Tucker 11
Examples of Languages
• High Level Languages
– BASIC, C, COBOL, FORTRAN, PASCAL
• Object Enabled Languages
– C++
• Object Oriented Languages
– Java, C#
Copyright © 2002 W. A. Tucker 12
Development Environment
• Developing a program in a high level
language requires certain tools
– Editor – type in a program and save as a file
(called the source program)
– Compiler – converts source program into
machine language (called the object program)
– Linker – Combines object program with other
programs (include files) to produce
executable code (called the load module)
– Loader – Loads executable code into memory
Copyright © 2002 W. A. Tucker 13
Integrated Development
Environment (IDE)
Editor
Source
File
Compiler
Object
File
Linker
Object
File
.cpp extension
.exe extension
Loader
Syntax
Errors
Linker
Errors
Loader
Errors
Copyright © 2002 W. A. Tucker 14
Software Development Method
1) Specify the problem
2) Analyze the problem
3) Design the algorithm to solve the problem
- Desk Checking
4) Implement the Algorithm
- Coding
5) Test and verify the completed program
- Compiling and Executing
6) Maintain and update the program
Copyright © 2002 W. A. Tucker 15
Structured Programming
• Dividing a larger problem into smaller parts
– AKA: tops-down design, stepwise refinement,
modular programming
– Identify what steps need to be done, usually VERBS
– (ie: calculate, process, get, display, etc)
• Each smaller part is then solved using one of
three types of programming structure
– Sequential structure
– Selection structure
– Repetition (looping) structure
Copyright © 2002 W. A. Tucker 16
Procedural Solutions
• Using structured programming, most
problems can be solved using the
following general procedural steps
– Get the input
– Process the input
– Display (output) the results
Copyright © 2002 W. A. Tucker 17
Object Oriented Programming
• Humans interact with objects every day
– Driving a car
– Purchasing groceries
• OOP involves defining the attributes (data)
and behaviors (operations) of objects
(usually NOUNS)
• Combining these attributes and behaviors
into a class is called encapsulation
Copyright © 2002 W. A. Tucker 18
Advantages of Objects
• Once an object is designed, implemented
and tested everyone can use it
– Improves productivity
– Supports portability or reuse of code
– All of which reduce development time

More Related Content

PPTX
Introduction to Programming kkkkkkkkkkkkk
PPT
Lecture 10 software development
DOCX
Case Summary Assignment Planning and organization fundamentally .docx
PPTX
lecture Slides - Week 1.programming fundamentals
PPTX
Programming Fundamentals lecture 2
PPT
Topic 1 B C programming exercises one.ppt
PPTX
Chapter 1
Introduction to Programming kkkkkkkkkkkkk
Lecture 10 software development
Case Summary Assignment Planning and organization fundamentally .docx
lecture Slides - Week 1.programming fundamentals
Programming Fundamentals lecture 2
Topic 1 B C programming exercises one.ppt
Chapter 1

Similar to chapter1lecturenotes sdsdasdddadad(2).ppt (20)

PPTX
Software programming and development
PPTX
Programming lesson1
PPT
01CHAP_1.PPT
PDF
Intro to programming and intro to java netbean.pdf
PPTX
PRESENTATION OF students learning outcomes.pptx
PPTX
Lecture 1.pptx
PDF
Programming Part 01
PPTX
Chapter 2.pptx
DOC
Nota programming
DOC
Notacd07
PPT
Introduction To Computer and Java
PPT
JavaHTP7e_0101_DDP.ppt
PDF
sege.pdf
PDF
Introduction to computer programming
PDF
Notacd071
PPTX
programming.pptx
PPTX
Mcs lec2
PPT
Introduction to the Programing Fundamentals Course.ppt
PPTX
Introduction to Programming Lecture Material 1
PPT
Chapter 1- C++ programming languages +.ppt
Software programming and development
Programming lesson1
01CHAP_1.PPT
Intro to programming and intro to java netbean.pdf
PRESENTATION OF students learning outcomes.pptx
Lecture 1.pptx
Programming Part 01
Chapter 2.pptx
Nota programming
Notacd07
Introduction To Computer and Java
JavaHTP7e_0101_DDP.ppt
sege.pdf
Introduction to computer programming
Notacd071
programming.pptx
Mcs lec2
Introduction to the Programing Fundamentals Course.ppt
Introduction to Programming Lecture Material 1
Chapter 1- C++ programming languages +.ppt

More from meharikiros2 (17)

PPTX
CHapter four database managementm04.pptx
PPT
CHAPTERGAHAhsghdfsfdsfsdfsfdsfsdfAGSHagsh-7.ppt
PPTX
chapter three 3-part II-1lecture slide.pptx
PPTX
ExitExam Tutorial gfgfgfdfdfdfdf (1).pptx
PPT
CHAPTER-7 C++ PROGRAMMING ( STRUCTURE IN C++)
PPT
Query optimization and processing for advanced database systems
PPTX
Emerging chap asasasasasawwqwqwwqwewewr4.pptx
PPTX
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
PPTX
Lab Session for sql programming language 1.pptx
PPTX
RIFLI-Computer-Basics-Part-1-1 lecture not
PPT
Lecture 01 - CS193Jxcxcxcx Summer 2003.ppt
PPT
JavaAdvanced programming for expertes dsd
PPTX
Computer_Programming_Fundamentals in cpp
PPT
SystemsProgrammingCourse FSDFFSFDSDSDSFSFS
PPTX
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
PPT
This is introduction to distributed systems for the revised curiculum
PPTX
ITET-4.pptx
CHapter four database managementm04.pptx
CHAPTERGAHAhsghdfsfdsfsdfsfdsfsdfAGSHagsh-7.ppt
chapter three 3-part II-1lecture slide.pptx
ExitExam Tutorial gfgfgfdfdfdfdf (1).pptx
CHAPTER-7 C++ PROGRAMMING ( STRUCTURE IN C++)
Query optimization and processing for advanced database systems
Emerging chap asasasasasawwqwqwwqwewewr4.pptx
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Lab Session for sql programming language 1.pptx
RIFLI-Computer-Basics-Part-1-1 lecture not
Lecture 01 - CS193Jxcxcxcx Summer 2003.ppt
JavaAdvanced programming for expertes dsd
Computer_Programming_Fundamentals in cpp
SystemsProgrammingCourse FSDFFSFDSDSDSFSFS
Introduction-to-C-Part-1 JSAHSHAHSJAHSJAHSJHASJ
This is introduction to distributed systems for the revised curiculum
ITET-4.pptx

Recently uploaded (20)

PDF
Sciences of Europe No 170 (2025)
PPTX
2. Earth - The Living Planet earth and life
PDF
Placing the Near-Earth Object Impact Probability in Context
PPTX
Introduction to Fisheries Biotechnology_Lesson 1.pptx
PPTX
Cell Membrane: Structure, Composition & Functions
PPTX
Derivatives of integument scales, beaks, horns,.pptx
PPTX
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
PPTX
ANEMIA WITH LEUKOPENIA MDS 07_25.pptx htggtftgt fredrctvg
PPTX
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
PPTX
G5Q1W8 PPT SCIENCE.pptx 2025-2026 GRADE 5
PPTX
2. Earth - The Living Planet Module 2ELS
PPTX
Microbiology with diagram medical studies .pptx
PPTX
7. General Toxicologyfor clinical phrmacy.pptx
PPTX
The KM-GBF monitoring framework – status & key messages.pptx
PPTX
Classification Systems_TAXONOMY_SCIENCE8.pptx
PDF
CAPERS-LRD-z9:AGas-enshroudedLittleRedDotHostingaBroad-lineActive GalacticNuc...
PPTX
2Systematics of Living Organisms t-.pptx
PPTX
ognitive-behavioral therapy, mindfulness-based approaches, coping skills trai...
PDF
An interstellar mission to test astrophysical black holes
PDF
HPLC-PPT.docx high performance liquid chromatography
Sciences of Europe No 170 (2025)
2. Earth - The Living Planet earth and life
Placing the Near-Earth Object Impact Probability in Context
Introduction to Fisheries Biotechnology_Lesson 1.pptx
Cell Membrane: Structure, Composition & Functions
Derivatives of integument scales, beaks, horns,.pptx
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
ANEMIA WITH LEUKOPENIA MDS 07_25.pptx htggtftgt fredrctvg
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
G5Q1W8 PPT SCIENCE.pptx 2025-2026 GRADE 5
2. Earth - The Living Planet Module 2ELS
Microbiology with diagram medical studies .pptx
7. General Toxicologyfor clinical phrmacy.pptx
The KM-GBF monitoring framework – status & key messages.pptx
Classification Systems_TAXONOMY_SCIENCE8.pptx
CAPERS-LRD-z9:AGas-enshroudedLittleRedDotHostingaBroad-lineActive GalacticNuc...
2Systematics of Living Organisms t-.pptx
ognitive-behavioral therapy, mindfulness-based approaches, coping skills trai...
An interstellar mission to test astrophysical black holes
HPLC-PPT.docx high performance liquid chromatography

chapter1lecturenotes sdsdasdddadad(2).ppt

  • 1. Copyright © 2002 W. A. Tucker 1 Chapter 1 Lecture Notes Bill Tucker Austin Community College COSC 1315
  • 2. Copyright © 2002 W. A. Tucker 2 Programming • Programming is Problem Solving • People use programs to “solve problems” • Designing a program is like “solving a problem” • Make a program run properly is also “solving a problem”
  • 3. Copyright © 2002 W. A. Tucker 3 My Favorite Phrase • The computer made a mistake! • Computers don’t make mistakes unless they are BROKEN • People make mistakes • People write programs • People write programs that make mistakes
  • 4. Copyright © 2002 W. A. Tucker 4 Computer Hardware • The main parts of a computer are – Memory • Main memory – RAM – Volatile memory • Secondary memory (secondary storage) – Files – Non-Volatile – Input / Output – Central Processing Unit
  • 5. Copyright © 2002 W. A. Tucker 5 Processing Data • Processing of data occurs within the CPU – Data must be moved from storage to the CPU for processing to occur – The CPU must be told where the data is located – All data stored in main memory is referenced by a memory address – Example: A = B + 12 • Get the contents of memory location 00BE34 (B) • Add 12 to the value • Store the value into memory location 00BE38 (A)
  • 6. Copyright © 2002 W. A. Tucker 6 Computer Software • Operating Systems manage and control the resources of a computer – EX: Windows 98, Windows 2000, Windows XP, UNIX, Lynix, MAC/OS, etc – Most operating systems provide a graphical user interface (except UNIX and Lynix) • Application Software – Programs written to perform a specific task – EX: Office 2000, Office XP, Quicken, etc.
  • 7. Copyright © 2002 W. A. Tucker 7 Computer Instructions • Programmers must “tell the computer what to do” • The computer will do exactly what the programmer tells the computer to do, nothing more and nothing less.
  • 8. Copyright © 2002 W. A. Tucker 8 Computer Language • Computers understand only the binary number system (zeros and ones) – All data stored in the computer is stored as a series of zeros and ones – All instructions telling the computer what to do are stored as a series of zeros and ones • People do not naturally think in terms of zeros and ones (the binary number system)
  • 9. Copyright © 2002 W. A. Tucker 9 Programming Languages • Programming languages allow a programmer to give the computer instructions in a manner that the programmer can understand • Assembly Language is a low level language, where the programmer uses a mnemonic (abbreviation) to communicate an instruction to the computer – EX: “A” or “add” for addition • This mnemonic is translated into machine language (binary) by a program called an assembler
  • 10. Copyright © 2002 W. A. Tucker 10 More on Programming Languages • Assembly language is a one for one mapping to the machine language and has to be rewritten for each machine (not all machine languages are the same) • An Assembler translates assembler code into machine language that a computer may execute • High level languages were created to allow programmers to write at a level where one programming instruction is converted into several machine language instructions and to avoid having to constantly rewrite the program • A compiler converts high level language into machine language that a computer may execute
  • 11. Copyright © 2002 W. A. Tucker 11 Examples of Languages • High Level Languages – BASIC, C, COBOL, FORTRAN, PASCAL • Object Enabled Languages – C++ • Object Oriented Languages – Java, C#
  • 12. Copyright © 2002 W. A. Tucker 12 Development Environment • Developing a program in a high level language requires certain tools – Editor – type in a program and save as a file (called the source program) – Compiler – converts source program into machine language (called the object program) – Linker – Combines object program with other programs (include files) to produce executable code (called the load module) – Loader – Loads executable code into memory
  • 13. Copyright © 2002 W. A. Tucker 13 Integrated Development Environment (IDE) Editor Source File Compiler Object File Linker Object File .cpp extension .exe extension Loader Syntax Errors Linker Errors Loader Errors
  • 14. Copyright © 2002 W. A. Tucker 14 Software Development Method 1) Specify the problem 2) Analyze the problem 3) Design the algorithm to solve the problem - Desk Checking 4) Implement the Algorithm - Coding 5) Test and verify the completed program - Compiling and Executing 6) Maintain and update the program
  • 15. Copyright © 2002 W. A. Tucker 15 Structured Programming • Dividing a larger problem into smaller parts – AKA: tops-down design, stepwise refinement, modular programming – Identify what steps need to be done, usually VERBS – (ie: calculate, process, get, display, etc) • Each smaller part is then solved using one of three types of programming structure – Sequential structure – Selection structure – Repetition (looping) structure
  • 16. Copyright © 2002 W. A. Tucker 16 Procedural Solutions • Using structured programming, most problems can be solved using the following general procedural steps – Get the input – Process the input – Display (output) the results
  • 17. Copyright © 2002 W. A. Tucker 17 Object Oriented Programming • Humans interact with objects every day – Driving a car – Purchasing groceries • OOP involves defining the attributes (data) and behaviors (operations) of objects (usually NOUNS) • Combining these attributes and behaviors into a class is called encapsulation
  • 18. Copyright © 2002 W. A. Tucker 18 Advantages of Objects • Once an object is designed, implemented and tested everyone can use it – Improves productivity – Supports portability or reuse of code – All of which reduce development time

Editor's Notes