Skip to content
Snippets Groups Projects
README.md 1.66 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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/)