O Objetivo desse curso é proporcionar gratuitamente a todos os brasileiros, interessados em aprender programacão de computadores ("Engenharia de Software"), um curso com conteúdo e qualidade de bons cursos universitários.
O conteúdo é focado nos fundamentos e aspectos práticos. A idéia é ser um curso bem dinâmico com práticas, demonstrações e explicações que ajudem a assimular o contéudo e deixar claro O PORQUÊ das coisas.
Como todo curso, é necessário que você faça a suar parte e eforce-se para acompanhar, principalmente fazendo os exércicios.
As aulas serão através de vídeos ao vivo no YouTube, mas se você estive começando, foque em assistir o contéudo existente, para acompanhar as aulas atuais é necessário domínio de todo conteúdo já abordado, assim não tenha pressa, mas seja dedicado e mantenha esforço constante. Para virar um programador Júnior é necessário alumas milhares de horas de dedicação. Esse curso vai abordar todo o conteúdo para prepará-lo para ser um programador e conquistar um espaço nesse mercado tão vasto e cheios de oportunidades.
Logo abaixo tem uma tabelas com todas as aulas com links para os vídeos e arquivos.
José Santos (mais conhecido como Zé Maria) é um engenheiro de software e professor veterano que iniciou no mundo da informática na adolescência e antes do advento da internet. Teve uma carreira diferenciada por atuar no meio acadêmico sendo professor da Escola Técnica Federal de Sergipe, Universidade Tiradentes, FANESE e Universidade Federal de Sergipe. Atuou como consultor de TI, programador, Administrador de redes, analista de sistemas e lider tecnico no Brasil, Canada e atualmente nos Estados Unidos, trabalhando em grandes empresas, mais recentemente na Microsoft e atualmente Intuit. Foi bastante ativo como atleta e ganhou vários títulos em esportes diferentes, entre eles: natação, volleyball, tae-kwo-do e full-contact.
Além de Nerd foi atleta competente em diferentes esportes.
Um dos principais focos do curso é preparar os participantes para ingressar no mercado (nacional e internacional) e um requisito fundamental para a área é pelo menos ler em inglês. Assim, todo o material escrito será em inglês, mas o aúdio será em portugues, com traduções quando oportuno. Dessa forma, o participante irá naturalmente adiquir o inglês técnico.
Aproveitem e fiquem com Deus.
A partir desse ponto, todo o contéudo escrito será em inglês.
- Application Layers
- User Interface (UI) or Front-End
- Console
- Windows
- Mobile
- Web
- Server-Side
- Data
- User Interface (UI) or Front-End
- Data Processing Model
- Input: Data
- Processing
- Output: Information
- Algorithm
-
IDE - Integrated Development Environment
- Visual Studio
- Visual Studio Code
- Replit
- Demonstration of Application types with Visual Studio
- Console
- Windows
- Web
- Mobile
-
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
- by value
- by reference (ref)
- default or optional
- out
- named
- params (see later when we learn array)
- 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)
- Find Cycle
- Find shortest path using Dijkstra Algorithm
-
Big O Notation
-
Binary Search
-
Sorting
- Bubble
- Selection
- Insertion
- Quick
- Merge
- Heap
-
Generics
-
C# Generic Collections
- Dictionary
- HashSet
- KeyValuePair
- LinkedList
- List
- PriorityQueue
- Queue
- SortedDictionary
- SortedList
- SortedSet
- Stack
-
.Net 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
- ADO.NET
- Entity Framework
- HTML
- CSS
- JavaScript
- Web Development Java Script Framework
- Angular
- React