Coding workspace Flashcards
– endeavors of the US Department of Defense
– focused on scientific, military, and defense
– manage supply chain, ballistics, and cryptanalysis during the war
– independent research and progress
Early computers and software
◦ Computers use punch cards and paper tapes as I/O.
◦ Perform batch operation and processing only.
◦ Software development required deep knowledge and
understanding of machine language.
Early Days
What year is the human computer (occupation)?
1613
A programmable electronic machine that accepts digitized input, processes according to a set of internally stored instructions, and produces the
resulting output information.
Computer
1949
Electronic Delay Storage Automatic Computer
What year is Universal Computing machine?
1936 Turing Machine (Alan Turing)
A computer architecture based on 1945 description by John Von Neumann and others in the first draft of a report on the EDVAC.
Von Neumann Architecture
◦ Commercialization of early microprocessors.
◦ Computers used in business and institutions.
◦ Rise of more complex software and systems.
◦ The formalization of “software engineering”
1970s Microcomputer era
A simple abstract computational device intended to help investigate the extent and limitations of what can be computerized.
Universal Computing Machine
What year is the Von Neumann Architecture?
1945 Electronic Numerical Integrator and Computer (ENIAC)
◦ Internet: new major platform for software.
◦ Rapid expansion of internet-based systems.
◦ Rise of cybersecurity vulnerabilities and threats.
◦ Counterfeit goods and piracy.
2000s Web Era
◦ The formalization of “software engineering” started in?
1968, 1972, and onwards.
◦ Widespread adoption of PC—MS-DOS and early GUIs.
◦ Monolithic architectures and object-oriented
approaches.
1980s PC Era
◦ Rise of internet and server-based systems.
◦ Shift to client-server models.
◦ Popularity of email and web browsers.
◦ Growth of e-commerce.
1990s Client-Server Era
◦ Computers were expensive and bulky.
◦ Surge of OS and high-level programming languages.
◦ Lack of skilled engineers and the lack of competence
and experience—severely understaffed position.
1960s Mainframe Era
◦ Investments in cloud computing infrastructures.
◦ Microservices, low-code, and AI-driven applications.
2020s Cloud-Computing Era
designed to accelerate graphics
rendering and perform parallel
processing tasks up to 1000x
versus CPU alone.
GPU (Graphic Processing Unit)
◦ Rise of modern smartphones and tablets.
◦ On-the-go applications and mobile-first design.
◦ Dominance of Android and iOS operating systems.
2010s Mobile Era
performs complex calculations
to make a computer operate
functionally.
CPU (Central Processing Units)
are used to permanently
store data and files.
HDD (Hard Disk Drive)
SSD (Solid State Drive)
Algorithm Guidelines
1. Instructions must be blank
2. The procedure must blank
3. There must be a blank output
Clear
Terminate
correct
It refers to the step-by-step procedure used to perform a task or to achieve a goal in a finite set of steps.
Algorithm
STEPS TO PROGRAMMING
1. Understand the problem
2. Design the blank
3. Blank the algorithm
4. Blank the program
5. Blank the program
6. Improve the Blank
Algorithm
Code
Debug
Test
Program
used to temporarily store data
and instructions used CPU/GPU.
RAM (Random Access Memory)
It refers to the process of writing the set of
instructions, or simply the “code”, necessary to tell the computer how to perform a task or to achieve a
goal.
Programming
- It is a program that executes high-level
code by translating it into machine
code, line-by-line. - Useful for interactive programming due to its flexibility in a rapid development setting.
Interpreter
is an interpreted, object-oriented, high-level programming language with dynamic semantics.
Python
Zen of Python
1. Blank is better than ugly
2. Explicit is better than Blank
3. Simple is better than Blank
4. Complex is better than Blank
5. Blank counts
Beautiful
Implicit
Complex
Complicated
Readability
It is a formal set of instructions used to communicate to a computer.
Programming language
It is a set of instructions fed a computer to perform \specific actions.
Program
An application used to create, view,
modify, and save text files.
Text Editor
- It is a program that translates code
written in a high-level programming
language into a machine-readable
format that a computer can execute. - Useful for mission-critical software which
sacrifices compilation time with performant
execution metrics.
Compiler
◦ It is a set of technologies an organization uses to build
a web or mobile application.
◦ It is a combination of programming languages,
frameworks, libraries, patterns, servers, UI/UX
solutions, software, and tools.
Tech Stacks
It is a system that…
tracks historical changes,
allows collaborative modifications, and
recovery of older versions.
Version control System
It is an application that provides the best
experience for writing, editing, and debugging codes.
IDEs
It is a “remote computer” storing projects enabled by the Git software itself.
Git server
It is an open-source, distributed source code management system with strong safeguards against accidental and malicious corruptions.
Git
Project-Related Challenges
1. Codes get Blank as it grows.
2. Too many cooks spoil the Blank.
3. Technology Blank progress.
4. Files can be Blank or lost.
Convoluted
Broth
Outpaces
Corrupted
Where do you write your programs?
Notepad++