Level 1
1 day < 1 min
LeaderboardGuest · Log in
Programming Fundamentals

Programming Fundamentals

An introduction to the core logic behind every computer program: variables, control flow, functions, and the concepts that carry over to any programming language.

60-Second Review

Express review

A condensed, point-by-point summary of the module, for reviewing right before a test or exam.

  1. Core Building Blocks: Variables, Operators, and Control Flow. Programs, variables, operators, conditionals, loops, and functions form the basic vocabulary of code.
  2. Scope, Collections, and I/O. Scope, arrays, strings, input/output, and comments round out how a program handles and explains data.
  3. Debugging and Recursion. Debugging, error types, planning tools, and recursion versus iteration shape how programmers solve problems.
  4. Programming Paradigms. Classes, inheritance, paradigms, and functional techniques offer different ways to structure a program.
  5. Data Structures and Memory. Exceptions, files, stacks, queues, dictionaries, sets, and matrices are core data-handling tools.
  6. Type Systems and How Programs Run. Typing systems, compilation, memory allocation, and pointers explain how programs actually run.
  7. Logic, Algorithms, and Collaborative Development. Boolean logic, bitwise operations, algorithmic efficiency, randomness, and Git underpin real-world coding.
  8. Writing Good Software. Style, testing, the development lifecycle, and choosing a language shape how good software gets built.

This is the starting point of Programming Fundamentals: you don't need any prior knowledge of this subject to begin.

Visual module map

1Core Building Blocks: Variables, Operators, and Control Flow
2Debugging and Recursion
3Data Structures and Memory
4Type Systems and How Programs Run
5Writing Good Software

Alternative visual view: a simplified sequence of some of the module's key points, in their order within the syllabus.

Your module mastery

0% (overall measurement)
Approximate breakdown by skill
Understanding of historiographical debate0%

A rough estimate based on the key points reviewed, not an exact measurement of actual mastery.

Final test

You need to review all key points to unlock the final test.

Further reading

Bibliography and cited sources used to create this module.

  • Sedgewick, R. and Wayne, K. (2011). Algorithms (4th ed.). Boston: Addison-Wesley.
  • Abelson, H. and Sussman, G. J., with Sussman, J. (1996). Structure and Interpretation of Computer Programs (2nd ed.). Cambridge, MA: MIT Press.
  • Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. (2009). Introduction to Algorithms (3rd ed.). Cambridge, MA: MIT Press.
  • Martin, R. C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Upper Saddle River, NJ: Prentice Hall.
  • Chacon, S. and Straub, B. (2014). Pro Git (2nd ed.). New York: Apress. https://git-scm.com/book