1/28
A set of practice flashcards covering key concepts from the lecture notes on programming, PDLC, language generations, and examples.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What is programming?
A technological process for telling a computer which tasks to perform to solve problems; a collaboration where humans write instructions (code) in a language computers can understand.
What is the difference between programming and coding?
Programming is the mental process of designing instructions for a machine; coding is translating those ideas into a written language the computer can understand.
What is the Program Development Life Cycle (PDLC)?
A set of steps or phases used to develop a program in any programming language.
List the PDLC phases.
Problem Definition; Problem Analysis; Algorithm Development; Coding & Documentation; Testing & Debugging; Maintenance.
PDLC Phase: Problem Definition
Involves defining the problem statement and setting the boundaries of the problem.
PDLC Phase: Problem Analysis
Determines requirements and gathers resources; defines variables, functions, and structures.
PDLC Phase: Algorithm Development
Develops the step-by-step procedure based on the Problem Analysis.
PDLC Phase: Coding & Documentation
Writes and implements the actual programming instructions using a programming language.
PDLC Phase: Testing & Debugging
Tests the code with various inputs to ensure it solves the problem and produces the desired output.
PDLC Phase: Maintenance
Ongoing support after deployment; if enhancements are needed, revisit earlier phases.
What is source code?
The set of instructions written in a programming language; the DNA of software.
What is compilation?
Translating the entire source code into machine code before execution; produces an executable file and typically runs faster after compiling.
What is interpretation?
Translating and executing code line-by-line at runtime; no standalone executable is produced.
Compilation vs Interpretation: which is faster after translation?
Compilation—faster execution at run-time since code is pre-translated.
Which languages are typically compiled?
C, C++, Java (with compilation to bytecode).
Which languages are typically interpreted?
Python, JavaScript, Ruby.
What is a high-level language?
Languages closer to human language (e.g., C, C++, Java, Python) that require a compiler or interpreter to translate to machine code.
What is a 3rd generation (3GL) language?
High-level languages like C, C++, Java, Python that are portable and aimed at programmer productivity.
What is a 4th generation (4GL) language?
Declarative languages focused on what the program should accomplish (not how); examples include SQL and MATLAB.
What is a 5th generation (5GL) language?
AI and logic-based languages that describe relationships and derive conclusions; examples include Prolog and Lisp.
Give an example SQL query from the notes.
SELECT name FROM students WHERE grade > 90;
Name a few popular languages and their general use cases: C.
Procedural, efficient, close to hardware; used in operating systems and embedded systems; 3rd Gen.
Name a few popular languages and their general use cases: Java.
Platform-independent, strong OO features; used in Android apps and enterprise applications; 3rd Gen.
Name a few popular languages and their general use cases: Python.
Easy-to-read syntax, interpreted, multi-paradigm; used in AI tools, automation, data analysis; 3rd Gen.
Name a few popular languages and their general use cases: JavaScript.
Web scripting for dynamic content; used in interactive websites and frontend frameworks; 3rd Gen.
Name a few popular languages and their general use cases: SQL.
Declarative language for managing databases; generation 3 (as per notes).
Name a few popular languages and their general use cases: Prolog.
Logic-based language used for knowledge representation and AI; 4th Gen.
Name a few popular languages and their general use cases: Lisp.
List processing, symbolic computation; AI research and natural language processing; 5th Gen.
What is the role of programming in problem solving?
Acts as a bridge between human needs and computer capabilities, turning abstract problems into executable solutions.