Module 1 Lesson 1 1
Module 1 Lesson 1 1
PROGRAMMING 1
MODULE 1: OVERVIEW ABOUT COMPUTER PROGRAM,
PROGRAMMING
PROCESS, AND OVERVIEW OF JAVA
MODULE 1: OVERVIEW ABOUT COMPUTER
PROGRAM, PROGRAMMING
PROCESS, AND OVERVIEW OF JAVA
COMPUTER PROGRAMS,
ALGORITHMS, AND FLOWCHARTING
PROGRAMMING
PROGRAMMING IS, QUITE LITERALLY, ALL AROUND US. FROM THE
TAKE-OUT WE ORDER, TO THE MOVIES WE STREAM, CODE ENABLES
EVERYDAY ACTIONS IN OUR LIVES. TECH COMPANIES ARE NO
LONGER RECOGNIZABLE AS JUST SOFTWARE COMPANIES — INSTEAD,
THEY BRING FOOD TO OUR DOOR, HELP US GET A TAXI, INFLUENCE
OUTCOMES IN PRESIDENTIAL ELECTIONS, OR ACT AS A PERSONAL
TRAINER.
COMPUTER SYSTEM
A COMPUTER SYSTEM NEEDS HARDWARE AND SOFTWARE TO RUN.
• HARDWARE – IS THE TANGIBLE AND VISIBLE COMPONENT OF A
COMPUTER SYSTEM SUCH AS THE MONITOR, KEYBOARD, MOUSE,
TO NAME A FEW.
• SOFTWARE – IS A PROGRAM THAT A COMPUTER USES TO FUNCTION
WHICH IS KEPT IN A HARDWARE DEVICE LIKE A HARD DISK AND IS
INTANGIBLE.
PROGRAMS
THIS ARE INSTRUCTIONS FOR THE PROCESSORS. YOU NEED
PROGRAMS TO WORK WITH YOUR COMPUTER.
SOME TYPES OF COMPUTER PROGRAMS
1. SYSTEM PROGRAMS
2. APPLICATION PROGRAMS
3. COMPILERS
1. SYSTEM PROGRAMS
THESE ARE PROGRAMS THAT PEOPLE USE TO GET THEIR WORK DONE.
THE FIRST DEVICE KNOWN TO CARRY OUT CALCULATIONS WAS THE ABACUS. IT
WAS INVENTED IN ASIA BUT WAS USED IN ANCIENT BABYLON, CHINA, AND
THROUGHOUT EUROPE UNTIL THE LATE MIDDLE AGES. THE ABACUS USES A
SYSTEM OF SLIDING BEADS ON A RACK FOR ADDITION AND SUBTRACTION.
Image Retrieve from:
https://www.nicepng.com/ourpi
c/u2t4u2r5a9o0o0o0_abacus-
abacus-computer/
YEAR: 1642
DESCRIPTIONS:
https://www.thoughtco.com/howard-aiken-and-grace-
hopper-4078389
YEAR: 1946
DESCRIPTIONS:
THE ENIAC (ELECTRONIC NUMERICAL
INTEGRATOR AND CALCULATOR) WAS
BUILT AT THE UNIVERSITY OF
PENNSYLVANIA. IT CONTAINED 18, 000
VACUUM TUBES AND WEIGHED SOME 30
TONS.
https://sites.google.com/site/hongxacdthlt11/mo-
dau-tim/phan-1/eniac-sage-neac
YEAR: LATE 1940’S
Von Neumann Architecture
DESCRIPTIONS:
THE COMPUTERS THAT WE KNOW TODAY
USE THE DESIGN RULES GIVEN BY JOHN
VON NEUMANN. HIS DESIGN INCLUDED
COMPONENTS SUCH AS ARITHMETIC
LOGIC UNIT, CONTROL UNIT, MEMORY,
AND INPUT/OUTPUT DEVICES. NEUMANN'S
DESIGN MAKES IT POSSIBLE TO STORE THE
PROGRAMMING INSTRUCTION AND THE
DATA IN THE SAME MEMORY SPACE.
YEAR: 1951
DESCRIPTIONS:
THE UNIVAC (UNIVERSAL AUTOMATIC
COMPUTER) WAS BUILT AND SOLD TO
THE US CENSUS BUREAU.
https://arstechnica.com/tech-policy/2011/09/univac-
the-troubled-life-of-americas-first-computer/
YEAR: 1956
DESCRIPTIONS:
THIS ERA ALSO SAW THE EMERGENCE OF THE SOFTWARE DEVELOPMENT
INDUSTRY WITH THE INTRODUCTION OF FORTRAN AND COBOL, TWO EARLY
PROGRAMMING LANGUAGES. LATER ON, TRANSISTORS WERE REPLACED BY TINY
INTEGRATED CIRCUITS OR CHIPS THAT ARE SMALLER AND CHEAPER THAN
TRANSISTORS AND CAN CONTAIN THOUSANDS OF CIRCUITS ON A SINGLE CHIP.
YEAR: 1970
DESCRIPTIONS:
MICROPROCESSORS WAS INVENTED. IT IS AN ENTIRE CPU ON A SINGLE CHIP.
YEAR: 1977
DESCRIPTIONS:
STEPHEN WOZNIAK AND STEVEN
JOBS DESIGNED AND BUILT THE
FIRST APPLE COMPUTER IN THE
GARAGE.
https://medium.com/the-mission/40-lessons-from-40-
years-of-apple-ads-7a653e2738ab
YEAR: 1981
DESCRIPTIONS:
IBM INTRODUCED ITS PERSONAL
COMPUTER (PC).
https://www.computerhistory.org/timeline/1981/
YEAR: 1980S
DESCRIPTIONS:
CLONES OF THE IBM PC MADE THE PERSONAL COMPUTER EVEN MORE
AFFORDABLE.
YEAR: MID-1990S UNTIL
TODAY
DESCRIPTIONS:
PEOPLE FROM MANY WALKS OF LIFE
WERE ABLE TO AFFORD COMPUTERS. AS
OF TODAY, MODERN-DAY COMPUTERS
ARE VERY POWERFUL, RELIABLE AND
EASY TO USE. IT ALSO HAS ADVANCED
FEATURES.
https://www.mobilescout.com/tech/news/
n81605/lenovo-desktop-pc-price-computer-
price.html
THE PROGRAM DEVELOPMENT LIFE CYCLE
IN PROGRAMMING, WE FOLLOW THE PROGRAM DEVELOPMENT LIFE CYCLE IN
SOLVING REAL-WORLD PROBLEMS. IT IS NEEDED TO EXAMINE THE STEP-BY-STEP
PROCEDURE AND TO ENSURE THE EFFICIENCY OF THE SOLUTION. IT CONTAINS
THE FOLLOWING PHASES:
1. PROBLEM DEFINITION
2. PROBLEM ANALYSIS
3. ALGORITHM DESIGN AND REPRESENTATION (PSEUDOCODE OR FLOWCHART)
4. CODING AND DEBUGGING
STEP 1: PROBLEM DEFINITION
AFTER THE PROBLEM HAS BEEN ADEQUATELY DEFINED, THE SIMPLEST AND YET
THE MOST EFFICIENT AND EFFECTIVE APPROACH TO SOLVING THE PROBLEM MUST
BE FORMULATED. USUALLY, THIS STEP INVOLVES BREAKING UP THE PROBLEM
INTO SMALLER AND SIMPLER SUBPROBLEMS.
EXAMPLE PROBLEM: DETERMINE THE NUMBER OF TIMES A NAME OCCURS IN A
LIST
PROBLEM: DETERMINE THE NUMBER OF TIMES A NAME OCCURS IN A LIST
DEBUGGING
DEBUGGING IS THE PROCESS OF FIXING SOME ERRORS (BUGS) IN
YOUR PROGRAM.
EXAMPLE PROBLEM 1:
WRITE AN ALGORITHM TO FIND THE AREA
OF A RECTANGLE.
EXAMPLE PROBLEM 2:
WRITE AN ALGORITHM FOR CALCULATING
THE SIMPLE INTEREST OF AN AMOUNT.
EXAMPLE PROBLEM 3:
WRITE AN ALGORITHM THAT WILL DETERMINE IF A
NUMBER IS POSITIVE OR
NEGATIVE.
PSEUDOCODE:
STEP 1: START
STEP 2: GET num
STEP 3: CHECK IF(num>0), PRINT "NUM IS POSITIVE."
STEP 4: ELSE, DISPLAY "NUM IS NEGATIVE."
STEP 5: STOP
TYPES OF ERRORS
1. COMPILE-TIME ERROR OR SYNTAX ERRORS
A SYNTAX ERROR OCCURS IF THERE IS A SYNTAX ERROR IN THE
CODE. THE COMPILER WILL DETECT THE ERROR, AND THE PROGRAM
WILL NOT COMPILE.
TYPES OF ERRORS
2. RUNTIME ERRORS
COMPILERS ARE NOT PERFECT, AND SO THEY CANNOT CATCH ALL
ERRORS AT COMPILE TIME. THIS IS ESPECIALLY TRUE FOR LOGIC
ERRORS, SUCH AS INFINITE LOOPS. THIS TYPE OF ERROR IS CALLED
RUNTIME ERROR.
THANK YOU