The main goal of this course is to empower any person to learn computer programming with a clear and practical approach that matches the quality and content levels of a graduation course. I already have a similar volunteer project where I teach computer programming target the Portuguese speakers.
We will learn from scratch using the program language python (https://www.python.org/) and no previous knowloadge is required (just the basic four math operations). We will cover everythink that is required to make a Junior Computer Programmer. I will do my best to make the classes as easy is possible, however you need to do you part as well. You can't act like someone that is going to a gym and just sitting and looking around. You need to put the effort to get any benefit.
All classes will be a live youtube streaming so you can participate and make questions. I will try to have all classes at the same days and time to make easier for you to schedule for it, however it is not that important to join the live classes. I am doing that way just to force me to focus and to mimic a in person class experience (it does work better for me as I was professor for decades).
This repository will be used to store the English version of the course. Below are the url for this course content:
- http://codelearn.live // This is a URL to this repository, just easier to share
- Youtube Playlist
The information about the brazilian content are below (Just in case you have a brazilian friend):
- Github Repository
- Youtube Playlist
- This course material is all in English but in the live classes I speak in portuguese.
- Another difference is that the portuguese course uses C# ad programming language.
Schedule:
- Tuesdays and Thursdays at 8PM
José Santos (better known as Zé Maria) is a software engineer and veteran professor who started in the world of computing in his teens and before the advent of the internet. He had a distinguished career by working in academia as a professor at the Federal Technical School of Sergipe, Tiradentes University, FANESE, and the Federal University of Sergipe. He worked as an IT consultant, programmer, network administrator, systems analyst, and technical leader in Brazil, Canada, and currently in the United States, working in large companies, most recently at Microsoft and currently at Intuit. He was very active as an athlete and won several titles in different sports, including: swimming, volleyball, tae-kwo-do, and full-contact.
In addition to being a nerd, he was a competent athlete in different sports.
- Application Layers
- User Interface (UI) or Front-End
- Console
- Desktop
- Mobile
- Web
- Server-Side
- Data
- User Interface (UI) or Front-End
- Data Processing Model
- Input: Data
- Processing
- Output: Information
- Algorithm x Program
- IDE - Integrated Development Environment
- Hello World
- Comments
- Variables and Types
- Input & Output (I/O)
- Type Casting
- Type Conversion
- String Interpolation
- Basic Operations
- Random Numbers
- Logical Expression
- Math Operations
- if
- switch
- for
- while
- do while
- break and continue
- Modularization
- Subprogram, Subroutine, Routine
- Function
- Procedure
- Parameters types
- Recursion
- Array
- Multi-Dimensional Array
- Char
- Strings
- Method Main with Args
- Version Control
- Git
- Introduction
- Conflicts
- Branches
- Pull Request (PR)
- Git
- Objects Oriented Programming
- Abstraction
- Class
- Object
- Constructors
- Encapsulation
- Access Modifiers
- Private
- Public
- Protected
- Internal
- Set and Get
- Property
- Access Modifiers
- Inheritance
- Overload
- Override
- Polymorphism
- The object class
- Interface
- Abstract
- Sealed
- Static
- Indexers
- Operator overload
- Relationship
- Composition
- Aggregation
- Full Demo
- Exceptions
- Unit Testing
- Parameter type: params
- Struct
- Tuple
- Introduction to Data Structures
- Linked List
- Doubled Linked List
- Queue
- Stack
- Set
- Hashtable
- Tree
- Binary Tree
- Traversal
- In-Order
- Pre-Order
- Post-Order
- By level
- Traversal
- Binary Search Tree (BST)
- Insert
- Find
- In-Order Traversal
- Remove
- Binary Tree
- Heap
- Definition
- Heapify
- Add (Push)
- Remove (Pop)
- Heap as array
- Graphs
- Definition
- Components
- Types
- Basic Operation
- Find Connection
- Depth First Search (DFS)
- Breadth First Search (BFS)
- Find Path
- Depth First Search (DFS)
- Breadth First Search (BFS)
- Big O Notation
- Binary Search
- Sorting
- Bubble
- Selection
- Insertion
- Quick
- Merge
- Heap
- Python Data Structures
- List
- Queue
- Stack
- Set
- Hash/Map
- Dictionary
- PriorityQueue
- Python API
- Files
- Text
- XML
- JSON
- DateTime
- etc
- Files
- Database Server
- SQL Server
- Relational Database
- Table
- Field
- Record
- Data Modeling
- Relationships
- Primary Key
- Foreign Key
- Relationships
- SQL
- Create Table
- Insert
- Update
- Delete
- Select
- Sorting
- Join
- MAX, MIN, SUM and AVG
- Count
- Group By
- HTML
- CSS
- JavaScript
- Web Development Java Script Framework
- Angular
- React