Programming_Timeline_and_Concepts
Programming_Timeline_and_Concepts
Detailed Timeline
- 1960s: IBM develops HIPO (Hierarchy plus Input Process Output), a method for planning and
- 1979: Bjarne Stroustrup begins development of C++ at Bell Labs as an extension of the C
language.
- 2005: Linus Torvalds creates Git for the development of the Linux kernel.
- Undated: The Systems Development Life Cycle (SDLC) is described as a process for planning,
creating, testing, and deploying information systems, with various models like waterfall, spiral, Agile,
- Undated: Program quality attributes like usability and portability are discussed.
- Undated: Concepts of pseudocode and flowcharts are used for program design and logic
documentation.
- Undated: Software testing methods like code checking and model checking are employed.
- Undated: Integrated Development Environments (IDEs) are used by programmers for software
development, typically containing source code editors, build automation tools, and debuggers.
- Undated: Version control systems, such as Git, are used for managing changes to files and
coordinating work, allowing tracking, recording, experimenting with, and merging revisions.
- Undated: The "Hello World" program is used as a fundamental example in various programming
languages (C++, C#, Java, JavaScript, Python, Swift) to demonstrate basic output.
- Undated: Programming fundamentals concepts including data and operators, constants and
variables, identifier names, various data types (integer, floating-point, string, Boolean, nothing),
order of operations, assignment, arithmetic operators (addition, subtraction, multiplication, division,
modulus), integer division, modulus, unary operations (positive and negative), Lvalue and Rvalue
concepts, and data type conversions (implicit and explicit, promotion and demotion) are discussed
and demonstrated.
- Undated: Modular programming and the concept of functions (also known as sub-programs,
macros, sub-routines, procedures, or modules) are introduced as a way to break down large
programs into smaller, manageable pieces. Function calls, definitions, and prototypes are
mentioned.