DEV Community

Discussion on: Demystifying programming

Collapse
 
allanjeremy profile image
Allan N Jeremy • Edited

As promised here's the course outline that I came up with. Took a while to edit the markdown, hence the late comment. Feel free to share your feedback/improve it however you can. I have created a git repository for the course that you may also contribute to. The repo will also contain course resources when the series begins.

PS. Need help coming up with a useful README for it.

Course Outline

1. Introduction

  • Who the video is for for – problem solvers, creators or interested in web, software or game dev that are trying to get into programming.

  • What we will be going over

  • Why learn these

  • What is the best way to learn – Practice. Know that you don't need to know everything

  • Pre-requisites – what do you need to know to follow along, as well as what resources

2. Programming fundamentals

  • What is programming

  • What is a program & examples

  • What can you do with programming

  • Why learn programming

3. Programming languages

  • What are programming languages & how do they work
    • Types of languages – high level, low level
    • Translators (compilers, interpreters, assemblers)

4. Programming terms (Part 1) – Basic terms

Here I'll try explaining most of the terms using analogies for things that exist in the real world or things that people (the audience) are familiar with.

  • Source code
  • Object code
  • Pseudocode
  • Flowcharts
  • Statements
  • Comments
  • Variables & Variants - Data types
  • Arrays
  • Operators
  • Functions
  • OOP
  • Scope

5. Programming terms (Part 2) – OOP terms

  • Classes
  • Methods
  • Inheritance

6. Programming terms (Part 3) - Advanced

  • Recursion
  • Lambda functions (anonymous functions)

7. General programming principles

  • DRY (Don't repeat yourself)
  • KISS (Keep it simple stupid)
  • Comment code

8. Working with data

  • Working with data (Part 1) – Reasons & I/O

  • Working with data (Part 2 a) – Variables -> rules & Data types

  • Working with data (Part 2 b) – Operators & Variables

  • Working with data (Part 3) – Constants

9. Program flow

  • Program flow (Part 1) – Reasons, what we'll cover

    • Program flow (Part 2) – Conditions & complex conditions
    • Program flow (Part 3) – Loops

10. Modularizing

  • Modularizing (Part 1) – Functions

  • Modularizing (Part 2) – Classes & OOP

11. Conclusion ~ What programming language you should learn

What language should you learn & where you can learn them

  • Web – HTML, CSS, JavaScript
  • Software – C++, Python, Java
  • Game – C, C++, Python
  • General – OOP language, Scripting, Databases

For anyone looking to learn a new language in general, stumbled upon this dev.to post that covers 43 programming languages and what they do. Hopefully that helps someone out there.