Programming Tutorial: Difference between revisions
Jump to navigation
Jump to search
Adamcolton (talk | contribs) |
Adamcolton (talk | contribs) No edit summary |
||
| (9 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
There are a lot of "learn to code" sites out there, but I'd like to do a learn to | There are a lot of "learn to code" sites out there, but I'd like to do a learn software engineering. | ||
I think the way to build this is to have the first part done through a web page and some youtube videos. Once we get to the more advanced stages, I can use git and each segment can be a branch. | |||
== Modules == | |||
# Intro to Course | |||
# Intro to development (HTML) | |||
# Intro to Coding (JS) | |||
# Command line setup | |||
# Objects (Python) | |||
# Testing | |||
# Big O (sorting) | |||
# Basic Data Structures | |||
# Object Patterns | |||
# Basic Models | |||
# Server Programming | |||
# Large Scale Projects | |||
== Things to Cover == | == Things to Cover == | ||
| Line 9: | Line 25: | ||
* Servers | * Servers | ||
* Time | * Time | ||
* Source control | |||
* Programming standards | |||
* Graph theory | |||
* unit testing | |||
* Algorithms, data-structures and their costs | |||
** O notation | |||
** Array | |||
** linked list | |||
*** queue | |||
*** stack | |||
** tree | |||
** hashtable | |||
** sorting | |||
** flood algorithm | |||
** memoization | |||
* Philosophy of programming | |||
** Code is for people | |||
== Layout == | == Layout == | ||
| Line 48: | Line 81: | ||
** basic navigation | ** basic navigation | ||
** basic tools | ** basic tools | ||
*** find | |||
*** grep | |||
*** sed | |||
*** awk | |||
* Python | * Python | ||
** Overview; language differences | ** Overview; language differences | ||
| Line 113: | Line 150: | ||
*** MVC | *** MVC | ||
*** Laravel | *** Laravel | ||
[[Category:Projects]] | |||
Latest revision as of 15:35, 23 August 2018
There are a lot of "learn to code" sites out there, but I'd like to do a learn software engineering.
I think the way to build this is to have the first part done through a web page and some youtube videos. Once we get to the more advanced stages, I can use git and each segment can be a branch.
Modules
- Intro to Course
- Intro to development (HTML)
- Intro to Coding (JS)
- Command line setup
- Objects (Python)
- Testing
- Big O (sorting)
- Basic Data Structures
- Object Patterns
- Basic Models
- Server Programming
- Large Scale Projects
Things to Cover
- The command line
- TCP networking
- Crypto
- Regex
- Modulus math and tricks
- Servers
- Time
- Source control
- Programming standards
- Graph theory
- unit testing
- Algorithms, data-structures and their costs
- O notation
- Array
- linked list
- queue
- stack
- tree
- hashtable
- sorting
- flood algorithm
- memoization
- Philosophy of programming
- Code is for people
Layout
- Intro
- Programming, software and computer science
- Beyond writing code
- Outline
- Environment
- Coding : JavaScript
- Browser Intro
- Hello World
- Variables
- Strings
- Numbers
- Bools
- Math
- Operators and assignment
- Conditionals
- If
- Switch
- Loops
- for
- while
- break
- continue
- Functions
- Scope
- Arrays
- Objects
- Prototypes
- Command Line
- Why it's powerful
- VMs
- Bash/Cygwin
- Virtualbox
- Docker
- AWS
- basic navigation
- basic tools
- find
- grep
- sed
- awk
- Python
- Overview; language differences
- Command line args
- HTTP servers
- basic server
- requests
- ajax
- jQuery
- Thinking with Ints
- Numbers as data
- mod tricks
- C++
- Overview; language differences
- Speed
- Pointers
- Deep OO
- Inheritance
- Abstract classes
- Patterns
- Listener
- Facade
- Big O
- Overview; language differences
- Data Structures
- Add, remove, find, sort
- Arrays
- Lists (C++ Vector)
- Linked Lists
- Tree
- Stack
- Queue
- Map
- Go
- Concurrency
- Threads
- Channels
- Mutex
- OO Reduction
- Go, C++, JavaScript
- Concurrency
- Working with Time
- Why it's hard
- UNIX time
- Examples in languages
- Regex
- Why
- Basic matching
- Advanced matching
- Best practices (it IS hard to read)
- Servers
- What it is
- AWS (hosted)
- Virtual Box (local)
- RasPi
- SSH
- Keys and Accsss
- permissions model
- FTP
- Lamp Server
- MySql
- command line
- phpMyAdmin
- Apache
- PHP
- MVC
- Laravel
- MySql