Skip to content
Snippets Groups Projects
README.md 1.66 KiB
Newer Older
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
# Intro to Programming

### Agenda

Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
* Computer architecture, memory, compile vs interpret, JIT
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed

* Programming 101
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - Python Hello World, [Python Standard Libraries](https://docs.python.org/3/library/index.html)
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - Variables, Types, etc
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - Conditionals ("if/else") 
    - Iterations ("for loops")
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - Functions, Scopes, [Arduino Functions](https://www.arduino.cc/en/Reference/FunctionDeclaration)
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - Objects
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - Writing readable, clean, sharable code
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
* Programming Languages
    - low level -> abstract
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - C Hello World, [C Standard Libraries](https://en.wikipedia.org/wiki/C_standard_library)
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
        ```
            gcc -o hello_world hello_world.c
            ./hello_world
        ```
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - Javascript Hello World
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
        ```
            javac HelloWorld.java
            java HelloWorld
        ```
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - NodeJS Hello World
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
        ```
            node hello_world_node.js
            # and then visit in a browser http://localhost:8081
        ```
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - Debugging/Testing
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed

* Programming Embedded Systems
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - Embedded C, [Arduino Language Reference](https://www.arduino.cc/en/Reference/HomePage)
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - Memory: EEPROM, Registers
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
    - Arduino Hello world
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed

### Resources

Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
* [Arduino Foundations](https://www.arduino.cc/en/Tutorial/Foundations)
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
* [C Programming Tutorial](https://www.cprogramming.com/tutorial/c-tutorial.html)
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
* [Python Programming Tutorial](https://pythonprogramming.net/introduction-to-python-programming/)
* [JavaScript Programming Tutorial (and more)](https://www.khanacademy.org/computing/computer-programming)
Thrasyvoulos Karydis's avatar
Thrasyvoulos Karydis committed
* [NodeJS Progamming Tutorial](https://www.tutorialspoint.com/nodejs/nodejs_first_application.htm)
* [Jupyter Notebooks](http://jupyter.org/)