Skip to content

airamez/IntroToCode_CSharp01

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sobre o curso

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.

Sobre o autor

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.

LinkedIn Profile

Porque o material está em inglês?

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.

Course Content

Quick Overview about Software Engineering

  • Application Layers
    • User Interface (UI) or Front-End
      • Console
      • Windows
      • Mobile
      • Web
    • Server-Side
    • Data
  • Data Processing Model
    • Input: Data
    • Processing
    • Output: Information
  • Algorithm

Introduction to Coding with "C#"

  • 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
      • 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)
  • Objects Oriented Programming

    • Abstraction
    • Class
    • Object
    • Constructors
    • Encapsulation
      • Access Modifiers
        • Private
        • Public
        • Protected
        • Internal
      • Set and Get
      • Property
    • 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
      • Binary Search Tree (BST)
        • Insert
        • Find
        • In-Order Traversal
        • Remove
    • 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

Introduction to SQL

  • Database Server
    • SQL Server
  • Relational Database
    • Table
    • Field
    • Record
    • Data Modeling
      • Relationships
        • Primary Key
        • Foreign Key
  • SQL
    • Create Table
    • Insert
    • Update
    • Delete
    • Select
      • Sorting
      • Join
      • MAX, MIN, SUM and AVG
      • Count
      • Group By

.NET Data Access

  • ADO.NET
  • Entity Framework

Introduction to Web Development

  • HTML
  • CSS
  • JavaScript
  • Web Development Java Script Framework
    • Angular
    • React

Web Services/API

Live Experience classes

Class # Youtube Video Files
151 Coding interview LifeExperiences/CodingInterview.pptx
158 Software Engineers Levels
160 The Importance of Networking LifeExperiences/TheImportanceOfNetworking.pptx
180 Linux LifeExperiences/Linux.pptx
190 How to start in coding
200 Work Model (In-Person, Remote & Hybrid) LifeExperiences/WorkModel.odp
N/A Biking from work

Classes

Class # Youtube Video Files
1 Overview about Software Enginner
2 Introduction CSharp/_01_Intro/_00_Overview.txt CSharp/_01_HelloWorld.cs
CSharp/_02_Comments.cs
CSharp/_03_VariablesAndTypes.cs
3 Input/Ouput
Basic Operations
CSharp/_04_InputOutput.cs
CSharp/_05_BasicOperations.cs
4 Basic Operations Practices 01. Read a value in miles and convert to kilometers: 1 Mile = 1.60934KM
02. Read an integer number and print the three predecessors and successors.
03. Read two integer numbers A and B and print the result of all arithmetic operations you know for A and B.
04. Read three integer numbers and calculate the average.
05. Read the base and length of a rectangle and calculate its area.
06. Read an integer and print True if the number is Even and False if it is Odd.
5 Basic Operations Practices 07. Read a temperature in Celsius and convert to Fahrenheit: F = C x 1.8 + 32.
08. Read the buying price (cost), the desired profit percentage and calculate the sales price of a product.
09. Read the buying price (cost), the desired profit percentage and the sales tax % and calculate the final sales price of a product.
6 Basic Operations Practices 10. Read the name, salary and salary increase percentage and print the name and the new salary.
11. Read the name, salary, years of experience and the numbers of kids of a employee and calculate the name and the new salary using the following formula:
- 0.5% per year of experience
- 2% per kid
7 Basic Operations Practices 12. Read two integer numbers and swap the variables content
13. Read the duration of an experiment in seconds and calculate the duration in Hours, Minutes and Seconds.
14. Read an integer number with 6 digits and separate it into two integers with 3 digits each
15. Read an integer number with 6 digits and generate a new number with the digits in reverse order
16. Read the description, quantity and unit price of 3 products in a shopping cart and print the total sales tax and the total order amount. The sales tax is 12%
8 Logical Expressions
Math Operations
CSharp/_07_LogicalExpressions.cs
CSharp/_08_MathOperations.cs
9 Selection command: if CSharp/_01_if.txt
Practices
01. Read two integers numbers and print the one with highest value. Assume the values are not the same
02. Read two integers numbers and print the one with highest value. If the values are equal, print "EQUALS".
10 if command pratices 03. Read 3 integers and print the highest value.
04. Read 5 integer numbers and print the biggest one.
11 if command pratices Artur, my son, presented the class but didn't save the files :)
12 if command pratices 05. Read 3 integers and print them in ascending order. (non descending)
06. Read a integer number and print if it is positive or negative.
07. Read an age and print "Minor" if the age is smaller than 18
08. Read an age and print "Minor" if the age is smaller than 18 and "ADULT" otherwise
09. Read an integer number and print if the number is Even or Odd
13 if command pratices 10. Read two numbers, desired operation (+, -, *, /) and print an string representing the operation with the result
14 if command pratices 11. Read the current hour (military time: 0 to 23) and print the appropriate salutation: Good morning, Good Afternoon, Good evening or Good night
12. Read a single digit number and print the description (name).
15 if command pratices 13. Read an letter and print if it is a consonant or vowel
14. Read an age and print the age classification using the table below:
-unborn = 0
-Infant: < 1
-Child: 1 to 12 years
-Adolescent: 13 to 17
-Adult: 18 to 55
- Senior: 56 to 75
- Elderly: 76+

15. Read the quantity of a product in a shopping card and calculate the total price using the rules below:
Quantity / Unit price
1 to 5 = $1.50
6 to 10 = $1.45
11 to 50 = $1.40
50 to 100 = $1.30
>100 = $1.20

16. Read the 3 scores (grades) of a student and calculate the weighted average using the weights: 30, 30 and 40.
Print if the student is "PASS" or "FAIL".
- The score (grade) is a real number from 0 to 10
- The approval average is 7.5
16 if command pratices 17. Read an year and print if it is a Leap Year or Not
https://learn.microsoft.com/en-us/office/troubleshoot/excel/determine-a-leap-year
To determine whether a year is a leap year, follow these steps:
1. If the year is evenly divisible by 4, go to step 2. Otherwise, go to step 5.
2. If the year is evenly divisible by 100, go to step 3. Otherwise, go to step 4.
3. If the year is evenly divisible by 400, go to step 4. Otherwise, go to step 5.
4. The year is a leap year (it has 366 days).
5. The year is not a leap year (it has 365 days).
17 if command pratices 18. Read the Name, Height and Gender (M = Male; F = Female) of a person and calculate the ideal weight using the rules below:
- Male : Ideal weight = (72.7 x Height) - 58
- Female: Ideal weight = (62.1 x Height) - 44.7
The height is in meters and the weight in kilograms
18 if command pratices 19. Read the values of the side of a triangle and print the type of the triangle
- Isosceles: Only two sides are equals
- Scalene: All sides are different
- Equilateral : All sides are equals
19 if command pratices 20. Read the name and salary of a employee and calculate the new salary based on the rules below:
Salary / Raising %0 to 50,000:20%
50,001 to 100,000: 15%
100,001 to 150,000: 10%
150,000 +:5%
* Print the name, raising % and the new Salary
20 switch command CSharp/_02_switch.cs
21 Repetition commands: for and while CSharp/_01_for.cs
CSharp/_02_while.cs
22 Repetition commands:
do while
break and continue
Repetition command practices
CSharp/_03_do_while.cs
CSharp/_04_break_continue.cs
CSharp/_05_RepetionCommandPractice.txt
01. Print the numbers from 1 to 1000 without using new lines after each number.
23 Repetition command practices 02. Read two integer numbers representing an interval and print all numbers inside the interval.
03. Read two integer numbers representing an interval and print all even numbers inside the interval.
24 Repetition command practices 04. Read integer numbers (flag = empty) and print the average.
25 Repetition command practices 05. Read integer numbers (flag = empty) and print the highest value.
26 Repetition command practices 06. Read integer numbers (flag = empty) and print the two highest unique values.
27 Repetition command practices 07. Read integer numbers (flag = empty) and print the smallest value and it's frequency.
28 Repetition command practices 08. Print the Fibonacci sequence while the term is smaller than 5000.
Fibonacci = 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
29 Repetition command practices 09. Print the multiplication table for numbers from 0 to 9.
e.g.
0 x 0 = 0
0 x 1 = 0
0 x 2 = 0
...
0 x 9 = 0
1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
...
1 x 9 = 9
2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
...
9 x 9 = 81
30 Random Numbers CSharp/_06_RandomNumbers.cs
31 Repetition command practices 10. Create a multiplication table game following the specification below:
- The game must ask multiplication questions using random numbers from 0 to 9.
e.g 3 x 9 = ?
7 x 8 = ?
0 x 2 = ?
...
- The game ends when the user type an empty value or if the user get 5 wrong answers;
- At the end of the game prints the score showing the number of right and wrong answers;
32 Repetition command practices 11. Read a integer number and calculate its Factorial. f(n) = n.(n-1).(n-2)(n-3)...1
e.g
f(0) = 1 (Exception)
f(1) = 1
f(2) = 2 x 1
f(4) = 4 x 3 x 2 x 1 = 48
f(5) = 5 x 4 x 3 x 2 x 1 = 120
f(6) = 6 x 5 x 4 x 3 x 2 x 1 = 720
33 Repetition command practices 12. Create a guessing game following the specification below:
- Generate a random integer number from 1 to 100 (inclusive)
- Let the user try to guess the number until it get the right number
- For every guess the program should update the new interval
- At the end, print how many tries the player used
- e.g. Generated number = 35 (The player can't see this number)
- If only one number left in the interval the player lose the game
Try to guess a number from:
1 to 100 => 20
21 to 100 => 65
21 to 64 => 30
31 to 64 => 41
31 to 40 => 36
31 to 35 => 35
Congratulations you guessed the right number with 6 attempts !
34 Repetition command practices 13. Read an integer number with any length and reverse it's digits.
e.g
Input = 12345
Output = 54321
35 Repetition command practices 14. Read an integer number and determine if it is a prime number or not.
36 Repetition command practices 15. Read two integer numbers and calculate the "integer" division without use the division operator.
37 Repetition command practices 16. Read an integer number H and print H lines composed of * characters start with one character and adding one * for each new line.e.g.
Height = 7
*
**
***
****
*****
******
*******
38 Repetition command practices 17. Same as the previous question but starting from the right.
e.g.
Height = 7
       *
      **
     ***
    ****
   *****
  ******
*******
39 Repetition command practices 18. Read an integer number H and print a Christmas Tree with height H.
e.g.
Height = 7
           *
          ...
         .....
        .......
       .........
      ...........
     .............
           |
           |
40 Repetition command practices 19. Generated 10,000 random numbers from 1 to 5 and print how many times and the percentage of each numbers.
e.g.
1 = 200 times => 2%
2 = 5000 times => 50%
3 = 800 times => 8%
4 = 1000 times => 10%
5 = 3000 times => 30%
41 Repetition command practices 20. Write a program that prints the numbers from 1 to 100 each one in a new line.
But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”.
For numbers which are multiples of both three and five print “FizzBuzz”.
42 Modularization Intro CSharp/_01_Intro_1.cs
CSharp/_01_Intro_2.cs
43 Modularization Intro CSharp/_01_Intro_3.cs
Library.cs
44 Modularization: Stack x Heap CSharp/_01_Intro_1.cs
45 Modularization: Paramenters types
By Value x By Reference
CSharp/_03_ParametersType.txt CSharp/_04_ParametersByValue_ByRef.cs
46 Modularization: Default parameter type CSharp/_05_ParametersDefault.cs
47 Modularization: Output parameter type CSharp/_06_ParametersOutput.cs
48 Modularization: Named parameter CSharp/_07_ParametersNames.cs
49 Modularization: Introduction to Recursion CSharp/_08_RecursionIntro.cs
50 Modularization: Factorial with recursion CSharp/_09_RecursionFactorial.cs
51 Array: Why arrays CSharp/_00_WhyArray.cs
52 Array: Overview CSharp/_01_ArrayIntro.cs
53 Array: Assignment operation
(Array is a reference type (HEAP)
CSharp/_02_ArrayAssignment.cs
54 Array: Operations CSharp/_03_ArrayOperations.cs
55 Array: Practices 1. Implement a routine to clone an array of integers: int[] Clone(int[])
56 Array: Practices 2. Implement a routine to read an array of integers from the Console: int[] ReadIntArray(string: label, int: length)
Use 'label[index] = ' for each element
57 Array: Practices 3. Implement a routine to print an integer array allowing the options to provide a label and print the array inline or multi-line.
- Inline: all elements of the array in a single line, separated by commna "," and inside open/close brackets: e.g [1,2,3,4,5]
- Multi: each element in a new line after the index, the index should be inside brackets.
58 Array: Practices 4. Implement a routine to receive an integer array and return the min and max values as output parameters: FindMinAndMax(array, out min, out max)
59 Array: Practices 5. Implement a routine to calculate the average of an array of integers: double ArrayAverage(array))
60 Array: Practices 6. Implement a routine to return the first and last elements of an array of integers as output parameters: GetFirstAndLast(array, out first, out last)
61 Array: Practices 7. Implement a routine to fill an integer array with an specific value: Fill(array, start, end, value)
62 Array: Practices 8. Implement a routine to generate an integer array with randon numbers from a provided interval: int[] GenerateRandomArray(length, minValue, maxValue)
63 Array: Practices 9. Implement a routine to indicate if two arrays of integer are equals (have the same values on same indexes)
64 Array: Practices 10. Implement a routine to check if an array of integer is palindrome
65 Array: Practices 11. Implement a routine to reverse an integer array. Try it in-place
66 Array: Practices 12. Implement a routine to return an array with all elements that are duplicated from an array of integers
67 Array: Practices 13. Implement a routine to return how many times a value occurs in an array of integers
68 Array: Practices 14. Implement a routine to return a new array with only unique values from an array of integers
69 Array: Practices 15. Implement a routine to receive two arrays of integers and return an array with the intersection
70 Array: Practices 16. Implement a routine to receive two arrays of integers (ascending order) and return an array with the intersection
71 Array: Practices 17. Implement a routine to receive two arrays of integers and return a new array with the union
72 Array: Practices 18. Implement a routine to receive two arrays of integers (ascending order) and return a new array with the union
73 Array: Practices 19. Implement a routine to indicate if an array is in ascendent order
74 Array: Practices 20. Implement a routine to indicate if an array of integers has two values that sum to a provided value: bool HasSum(array, sum)
75 Array: Practices 21. Implement a routine to receive two sorted arrays and return a new array with all elements and sorted as well
76 Array: Practices 22. Implement a routine to rotate an array n positions to the left: RotateLeft(array, offset). Can you do it in-place?
77 Array: Practices 23. Implement a routine to move all zeros of an integer array to the left side. Can you do it in-place?
78 Array: Practices 23. Implement a routine to move all zeros of an integer array to the left side. Can you do it in-place? (Better solution)
79 Array: Practices 23. Implement a routine to move all zeros of an integer array to the left side. Can you do it in-place? (Easier solution)
80 Array: Practices 24. Implement a routine to return the longest sequence of duplicated elements of an array of integers containing only 0s and 1s
81 Array: Practices 25. Implement a routine to given an array of N non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.
82 Array: Practices 26. Implement a routine to randomize an array of integers
83 Array: Practices 27. Implement a game of decoding a sequence of integer digits
The game rules are:
- Generate an array of random integer digits without duplication
- Allow the player to provide 5 digits each turn
- Show * for each digit that is in a correct position
- Show + for each digit that is out position
- Show - for each digit that is not part of the list
- Keep the game until the player get all five
84 Bidimensional Array (Matrix) CSharp/_06_ArrayMultidimensional/_01_Bidimensional.cs
85 Multidimensional Array CSharp/_06_ArrayMultidimensional/_02_TriDimensional.cs
CSharp/_06_ArrayMultidimensional/_03_TridimensionalDemo.cs
86 O tipo char (Character) CSharp/_07_CharString/_01_Char.cs
87 O tipo string CSharp/_07_CharString/_02_String.cs
88 Main method with command line arguments CSharp/_08_MainArgs/_01_Args.cs
89 Intro to Version Control (GIT) N/A
90 GIT: Resolving conflicts N/A
91 GIT: Branches (Theory) N/A
92 GIT: Branches (Practice) N/A
93 GIT: Pull Request (PR) N/A
94 Object-Oriented Programming: Intro CSharp/_09_ObjectOrientedProgramming/_01_OO_Intro.cs
CSharp/_09_ObjectOrientedProgramming/_02_OO_Demo.cs
95 Object-Oriented Programming: Key concepts CSharp/_09_ObjectOrientedProgramming/_03_OO_KeyConcepts.txt
CSharp/_09_ObjectOrientedProgramming/_04_OO_Class.cs
96 Object-Oriented Programming: Constructors CSharp/_09_ObjectOrientedProgramming/_05_OO_Constructor.cs
97 Object-Oriented Programming: Encapsulation CSharp/_09_ObjectOrientedProgramming/_06_OO_Encapsulation.cs
98 Object-Oriented Programming: Property CSharp/_09_ObjectOrientedProgramming/_07_OO_Property.cs
99 Object-Oriented Programming: Property Demo CSharp/_09_ObjectOrientedProgramming/_07_OO_PropertyDemo.cs
100 Object-Oriented Programming: Inheritance 1 CSharp/_09_ObjectOrientedProgramming/_08_OO_Inheritance1.cs
101 Object-Oriented Programming: Inheritance 2 CSharp/_09_ObjectOrientedProgramming/_08_OO_Inheritance2.cs
102 Object-Oriented Programming: Inheritance 3 CSharp/_09_ObjectOrientedProgramming/_08_OO_Inheritance3.cs
103 Object-Oriented Programming: Method Overloading CSharp/_09_ObjectOrientedProgramming/_09_OO_Overload.cs
104 Object-Oriented Programming: Method Overrriding CSharp/_09_ObjectOrientedProgramming/_10_OO_Override.cs
105 Object-Oriented Programming: Polymorphism CSharp/_09_ObjectOrientedProgramming/_11_OO_Polymorphism.cs
106 Object-Oriented Programming: The objec class CSharp/_09_ObjectOrientedProgramming/_12_OO_TheObjectClass.cs
107 Object-Oriented Programming: Interface CSharp/_09_ObjectOrientedProgramming/_13_OO_Interfaces.cs
108 Object-Oriented Programming: Abstract CSharp/_09_ObjectOrientedProgramming/_14_OO_Abstract.cs
109 Object-Oriented Programming: Sealed CSharp/_09_ObjectOrientedProgramming/_15_OO_Sealed.cs
110 Object-Oriented Programming: Static CSharp/_09_ObjectOrientedProgramming/_16_OO_Static.cs
111 Object-Oriented Programming: Indexer CSharp/_09_ObjectOrientedProgramming/_17_OO_Indexers.cs
112 Object-Oriented Programming: Indexer CSharp/_09_ObjectOrientedProgramming/_18_OO_OperatorOverload.cs
113 Object-Oriented Programming: Partial Classe CSharp/_09_ObjectOrientedProgramming/_19_OO_PartialClass1.cs
CSharp/_09_ObjectOrientedProgramming/_19_OO_PartialClass2.cs
114 Object-Oriented Programming: Relationships CSharp/_09_ObjectOrientedProgramming/_20_OO_Relationships.cs
115 Object-Oriented Programming: Demo Part 1 CSharp/_10_OO_Demo/OurStoreApp.cs
CSharp/_10_OO_Demo/OurStoreClassDiagram.png
116 Object-Oriented Programming: Demo Part 2 CSharp/_10_OO_Demo/OurStoreApp.cs
CSharp/_10_OO_Demo/Customer.cs
CSharp/_10_OO_Demo/Customer.cs
117 Object-Oriented Programming: Demo Part 3 CSharp/_10_OO_Demo/OurStoreApp.cs
CSharp/_10_OO_Demo/Product.cs
CSharp/_10_OO_Demo/Products.cs
118 Object-Oriented Programming: Demo Part 4 CSharp/_10_OO_Demo/OurStoreApp.cs
CSharp/_10_OO_Demo/Product.cs
119 Object-Oriented Programming: Demo Part 5 CSharp/_10_OO_Demo/OurStoreApp.cs
CSharp/_10_OO_Demo/Customer.cs
CSharp/_10_OO_Demo/Order.cs
120 Object-Oriented Programming: Demo Part 6 CSharp/_10_OO_Demo/OurStoreApp.cs
CSharp/_10_OO_Demo/Order.cs
CSharp/_10_OO_Demo/OrderProduct.cs
121 Object-Oriented Programming: Demo Part 7 CSharp/_10_OO_Demo/OurStoreApp.cs
122 Object-Oriented Programming: Demo Part 8 CSharp/_10_OO_Demo/OurStoreApp.cs
123 Object-Oriented Programming: Demo Part 9 CSharp/_10_OO_Demo/OurStoreApp2.cs
124 Object-Oriented Programming: Demo Part 10 CSharp/_10_OO_Demo/OurStoreApp3.cs
125 Exceptions: Intro CSharp/_11_Exceptions/_01_Intro.cs
126 Exceptions: Handling multiple exceptions CSharp/_11_Exceptions/_02_Multiple.cs
127 Exceptions: Handling multiple exceptions CSharp/_11_Exceptions/_03_Finally.cs
128 Exceptions: Custom exceptions CSharp/_11_Exceptions/_04_CustomException.cs
129 Exceptions: Catch & Throw CSharp/_11_Exceptions/_05_CatchAndThrow.cs
130 Unit Testing: Intro 1 CSharp/_12_UnitTesting/_01_Intro.txt
131 Unit Testing: Intro 2 CSharp/_12_UnitTesting/_01_Intro.txt
CSharp/_12_UnitTesting/_02_MyClass.cs
CSharpTest/_02_MyClassTest.cs
132 Unit Testing: Basics Demo 1 CSharp/_12_UnitTesting/_03_BankAccount.cs
CSharpTest/_03_BankAccountTest.cs
133 Unit Testing: Basics Demo 2 CSharp/_12_UnitTesting/_04_TextFileProcessing_1.cs
CSharpTest/_04_TextFileProcessing_1Test.cs
134 Unit Testing: Design for Unit Testing CSharp/_12_UnitTesting/_04_TextFileProcessing_2.cs
CSharpTest/_04_TextFileProcessing_2Test.cs
135 Unit Testing: Dependency Inject + Mocking CSharp/_12_UnitTesting/_04_TextFileProcessing_3.cs
CSharpTest/_04_TextFileProcessing_3Test.cs
136 Extras CSharp/_13_Extras/_01_Params.cs
CSharp/_13_Extras/_02_Structs.cs
CSharp/_13_Extras/_03_Tuple.cs
137 Data Structures: Intro CSharp/_14_DataStructures/_01_Intro.txt
138 Data Structures: Linked List
(Part 1: Add at Head)
CSharp/_14_DataStructures/_02_LinkedList.cs
CSharp/_14_DataStructures/_02_LinkedList.png
139 Data Structures: foreach and IEnumerable CSharp/_14_DataStructures/_02_LinkedList.cs
CSharpTest/_05_LinkedListTest.cs
CSharp/_14_DataStructures/_02_LinkedList.png
140 Data Structures: Linked List
(Part 2: Add at Tail)
CSharp/_14_DataStructures/_02_LinkedList.cs
CSharpTest/_05_LinkedListTest.cs
CSharp/_14_DataStructures/_02_LinkedList.png
141 Data Structures: Linked List
(Part 3: Get)
CSharp/_14_DataStructures/_02_LinkedList.cs
CSharpTest/_05_LinkedListTest.cs
CSharp/_14_DataStructures/_02_LinkedList.png
142 Data Structures: Linked List
(Part 4: Add At)
CSharp/_14_DataStructures/_02_LinkedList.cs
CSharpTest/_05_LinkedListTest.cs
CSharp/_14_DataStructures/_02_LinkedList.png
143 Data Structures: Linked List
(Part 5: Performance considerations)
CSharp/_14_DataStructures/_02_LinkedList.cs
144 Data Structures: Linked List
(Part 6: Remove - Design)
CSharp/_14_DataStructures/_02_LinkedListRemoveDesign.png
145 Data Structures: Linked List
(Part 7: Remove - Implementation)
CSharp/_14_DataStructures/_02_LinkedList.cs
CSharpTest/_05_LinkedListTest.cs
CSharp/_14_DataStructures/_02_LinkedListRemoveDesign.png
146 Data Structures: Double Linked List
(Part 1: Overview & Add at Head - Design)
CSharp/_14_DataStructures/_03_DoubleLinkedList.png
CSharp/_14_DataStructures/_03_DoubleLinkedListAtHead.png
147 Data Structures: Double Linked List
(Part 2: Add at Head - Implementation)
CSharp/_14_DataStructures/_03_DoubleLinkedList.png
CSharp/_14_DataStructures/_03_DoubleLinkedListAtHead.png
CSharp/_14_DataStructures/_03_DoubleLinkedList.cs
CSharpTest/_06_DoubleLinkedListTest.cs
148 Data Structures: Double Linked List
(Part 3: Add at Tail)
CSharp/_14_DataStructures/_03_DoubleLinkedList.png
CSharp/_14_DataStructures/_03_DoubleLinkedListAtHead.png
CSharp/_14_DataStructures/_03_DoubleLinkedList.cs
CSharpTest/_06_DoubleLinkedListTest.cs
149 Data Structures: Double Linked List
(Part 4: Get At Index)
CSharp/_14_DataStructures/_03_DoubleLinkedList.png
CSharp/_14_DataStructures/_03_DoubleLinkedListGetAtIndex.png
CSharp/_14_DataStructures/_03_DoubleLinkedList.cs
CSharpTest/_06_DoubleLinkedListTest.cs
150 Data Structures: Double Linked List
(Part 5: Get At Index - Performance Improvement)
CSharp/_14_DataStructures/_03_DoubleLinkedList.png
CSharp/_14_DataStructures/_03_DoubleLinkedListGetAtIndex.png
CSharp/_14_DataStructures/_03_DoubleLinkedList.cs
CSharpTest/_06_DoubleLinkedListTest.cs
151 Coding Interview
152 Data Structures: Double Linked List
(Part 6: Add At Index)
CSharp/_14_DataStructures/_03_DoubleLinkedList.png
CSharp/_14_DataStructures/_03_DoubleLinkedListGetAtIndex.png
CSharp/_14_DataStructures/_03_DoubleLinkedList.cs
CSharpTest/_06_DoubleLinkedListTest.cs
153 Data Structures: Double Linked List
(Part 7: Add At Index)
CSharp/_14_DataStructures/_03_DoubleLinkedList.png
CSharp/_14_DataStructures/_03_DoubleLinkedListGetAtIndex.png
CSharp/_14_DataStructures/_03_DoubleLinkedList.cs
CSharpTest/_06_DoubleLinkedListTest.cs
154 Data Structures: Double Linked List
(Part 8: Remove - Theory/Design)
CSharp/_14_DataStructures/_03_DoubleLinkedListRemove.png
155 Data Structures: Double Linked List
(Part 9: RemoveAtHead - Implementation)
CSharp/_14_DataStructures/_03_DoubleLinkedListRemove.png
CSharp/_14_DataStructures/_03_DoubleLinkedList.cs
CSharpTest/_06_DoubleLinkedListTest.cs
156 Data Structures: Double Linked List
(Part 10: RemoveAtTail - Implementation)
CSharp/_14_DataStructures/_03_DoubleLinkedListRemove.png
CSharp/_14_DataStructures/_03_DoubleLinkedList.cs
CSharpTest/_06_DoubleLinkedListTest.cs
157 Data Structures: Double Linked List
(Part 12: RemoveAtTail - Implementation)
CSharp/_14_DataStructures/_03_DoubleLinkedListRemove.png
CSharp/_14_DataStructures/_03_DoubleLinkedList.cs
CSharpTest/_06_DoubleLinkedListTest.cs
158 Software Engineer Levels
159 Data Structures: Double Linked List Improved
CSharp/_14_DataStructures/_03_DoubleLinkedListImproved.cs
CSharpTest/_06_DoubleLinkedListImprovedTest.cs
160 The Importance of Networking
161 Data Structures: Queue (Part 1) CSharp/_14_DataStructures/_04_Queue.cs
162 Data Structures: Queue (Part 2) CSharp/_14_DataStructures/_04_Queue.cs
CSharpTest/_08_QueueTest.cs
163 Data Structures: Queue (Part 3) CSharp/_14_DataStructures/_04_Queue.cs
CSharpTest/_08_QueueTest.cs
164 Data Structures: Stack (Part 1) CSharp/_14_DataStructures/_05_Stack.cs
165 Data Structures: Stack (Part 2) CSharp/_14_DataStructures/_05_Stack.cs
CSharpTest/_09_StackTest.cs
166 Data Structures: Stack (Valid Parentheses question) CSharp/_99_CodingQuestions/ValidParentheses.cs
167 Data Structures: Set (Theory + TDD) CSharp/_14_DataStructures/_06_Set.cs
CSharpTest/_10_SetTest.cs
168 Data Structures: Set (Theory + TDD)
Part 2
CSharp/_14_DataStructures/_06_Set.cs
CSharpTest/_10_SetTest.cs
169 Data Structures: Hashtable (Introduction)
170 Finding Jobs
171 Data Structures: Hashtable (Design Part 1)
172 Data Structures: Hashtable (Design Part 2)
173 Data Structures: Hashtable (Implementation) CSharp/_14_DataStructures/_07_HashTable.cs
CSharpTest/_11_HashTableTest.cs
174 Data Structures: Tree CSharp/_14_DataStructures/_08_Tree.txt
CSharp/_14_DataStructures/_08_Tree.png
175 Data Structures: Binary Tree (Part 1: Overview) CSharp/_14_DataStructures/_09_BinaryTree.cs
CSharp/_14_DataStructures/_09_BinaryTree.png
176 Data Structures: Binary Tree (Part 2: Traversal) CSharp/_14_DataStructures/_09_BinaryTree.cs
CSharp/_14_DataStructures/_09_BinaryTree.png
177 Data Structures: Binary Tree (Part 3: Traversal Implementation) CSharp/_14_DataStructures/_09_BinaryTree.cs
CSharp/_14_DataStructures/_09_BinaryTree.png
178 Data Structures: Binary Tree (Part 4: Traversal Review) CSharp/_14_DataStructures/_09_BinaryTree.cs
CSharp/_14_DataStructures/_09_BinaryTree.png
179 Data Structures: Binary Tree (Part 5: Traversal Per Level with Dictionary + Recursion) CSharp/_14_DataStructures/_09_BinaryTree.cs
CSharp/_14_DataStructures/_09_BinaryTree.png
180 Linux Linux PPT
181 Data Structures: Binary Tree (Part 6: Traversal Per Level with Queue + No Recursion) CSharp/_14_DataStructures/_09_BinaryTree.cs
CSharp/_14_DataStructures/_09_BinaryTree.png
182 Data Structures: Binary Search Tree (Part 1: Overview) CSharp/_14_DataStructures/_10_BinarySearchTree.cs
CSharp/_14_DataStructures/_10_BinarySearchTree.odg
183 Data Structures: Binary Search Tree (Part 2: Implementation - Add and Traverse InOrder) CSharp/_14_DataStructures/_10_BinarySearchTree.cs
CSharp/_14_DataStructures/_10_BinarySearchTree.odg
CSharpTest/_12_BSTTest.cs
184 Data Structures: Binary Search Tree (Part 3: Implementation - Exists and Traverse PreOrder/PostOrder) CSharp/_14_DataStructures/_10_BinarySearchTree.cs
CSharp/_14_DataStructures/_10_BinarySearchTree.odg
CSharpTest/_12_BSTTest.cs
185 Data Structures: Binary Search Tree (Part 4: Remove - Theory) CSharp/_14_DataStructures/_10_BinarySearchTree.cs
CSharp/_14_DataStructures/_10_BinarySearchTree.odg
CSharpTest/_12_BSTTest.cs
186 Data Structures: Binary Search Tree (Part 5: Remove - Implementation NonRecursice) CSharp/_14_DataStructures/_10_BinarySearchTree.cs
CSharp/_14_DataStructures/_10_BinarySearchTree.odg
CSharpTest/_12_BSTTest.cs
187 Data Structures: Binary Search Tree (Part 6: Remove - Implementation NonRecursive)) CSharp/_14_DataStructures/_10_BinarySearchTree.cs
CSharp/_14_DataStructures/_10_BinarySearchTree.odg
CSharpTest/_12_BSTTest.cs
188 Data Structures: Binary Search Tree (Part 7: Remove - Implementation Recursive)) CSharp/_14_DataStructures/_10_BinarySearchTree.cs
CSharp/_14_DataStructures/_10_BinarySearchTree.odg
CSharpTest/_12_BSTTest.cs
189 Data Structures: Heap (Part1: Introduction) CSharp/_14_DataStructures/_11_Heap_0.txt
CSharp/_14_DataStructures/_11_Heap_1.odg
190 How to get into programming
191 Data Structures - Heap (Heap implemented as array) CSharp/_14_DataStructures/_11_Heap_0.txt
CSharp/_14_DataStructures/_11_Heap_1.odg
192 Data Structures - Heap (Heapify implementation) CSharp/_14_DataStructures/_11_Heap_0.txt
CSharp/_14_DataStructures/_11_Heap_1.odg
CSharp/_14_DataStructures/_11_Heap_2.cs
193 Data Structures - Heap (Add / Push implementation) CSharp/_14_DataStructures/_11_Heap_0.txt
CSharp/_14_DataStructures/_11_Heap_1.odg
CSharp/_14_DataStructures/_11_Heap_2.cs
194 Data Structures - Heap (Remove / Pop implementation) CSharp/_14_DataStructures/_11_Heap_0.txt
CSharp/_14_DataStructures/_11_Heap_1.odg
CSharp/_14_DataStructures/_11_Heap_2.cs
195 Data Structures - Graphs (Overview) CSharp/_14_DataStructures/_12_Graph_0.txt
CSharp/_14_DataStructures/_12_Graph_1.odg
CSharp/_14_DataStructures/_12_Graph_2.cs
196 Data Structures - Graphs (Design & Initial Implementation) CSharp/_14_DataStructures/_12_Graph_0.txt
CSharp/_14_DataStructures/_12_Graph_1.odg
CSharp/_14_DataStructures/_12_Graph_2.cs
197 Data Structures - Graphs (Design & Initial Implementation) CSharp/_14_DataStructures/_12_Graph_0.txt
CSharp/_14_DataStructures/_12_Graph_1.odg
CSharp/_14_DataStructures/_12_Graph_2.cs
198 Data Structures - Graphs (Has Path DFS Implementation) CSharp/_14_DataStructures/_12_Graph_0.txt
CSharp/_14_DataStructures/_12_Graph_1.odg
CSharp/_14_DataStructures/_12_Graph_2.cs
199 Data Structures - Graphs (Has Path BFS Implementation) CSharp/_14_DataStructures/_12_Graph_0.txt
CSharp/_14_DataStructures/_12_Graph_1.odg
CSharp/_14_DataStructures/_12_Graph_2.cs
200 Work Model (In-Person, Remote & Hybrid) WorkModel.odp
201 Data Structures - Graphs (Get Path DFS) CSharp/_14_DataStructures/_12_Graph_0.txt
CSharp/_14_DataStructures/_12_Graph_1.odg
CSharp/_14_DataStructures/_12_Graph_2.cs
202 Data Structures - Graphs (Get Path BFS) CSharp/_14_DataStructures/_12_Graph_0.txt
CSharp/_14_DataStructures/_12_Graph_1.odg
CSharp/_14_DataStructures/_12_Graph_2.cs
203 Data Structures - Graphs (Detect Cycle) CSharp/_14_DataStructures/_12_Graph_0.txt
CSharp/_14_DataStructures/_12_Graph_1.odg
CSharp/_14_DataStructures/_12_Graph_2.cs
204 Data Structures - Graphs (Topological Sorting) CSharp/_14_DataStructures/_12_Graph_0.txt
CSharp/_14_DataStructures/_12_Graph_1.odg
CSharp/_14_DataStructures/_12_Graph_2.cs
205 Data Structures - Graphs (Dijkstra's algorithm to find shortest path - Theory) CSharp/_14_DataStructures/_12_Graph_0.txt
CSharp/_14_DataStructures/_12_Graph_1.odg
CSharp/_14_DataStructures/_12_Graph_2.cs
206 Data Structures - Graphs (Dijkstra's algorithm to find shortest path - Implementation) CSharp/_14_DataStructures/_12_Graph_0.txt
CSharp/_14_DataStructures/_12_Graph_1.odg
CSharp/_14_DataStructures/_13_WeightedGraph.cs
207 Big O Notation (Part 1) CSharp/_15_BigO/BigO_1.txt
CSharp/_15_BigO/BigO_0.odg
CSharp/_15_BigO/BigO_2.cs
208 Big O Notation (Part 2) CSharp/_15_BigO/BigO_1.txt
CSharp/_15_BigO/BigO_0.odg
CSharp/_15_BigO/BigO_3.cs
209 Binary Search CSharp/_16_BinarySearch/_00_BinarySearch.odg
CSharp/_16_BinarySearch/_01_BinarySearch.cs
210 Softare Engineering Roles LifeExperiences/SoftwareEngineerRoles.pptx
211 Sorting (Intro + Bubble Sort) CSharp/_17_Sorting/_00_Sorting.odg
CSharp/_17_Sorting/_00_Sorting.cs
212 Sorting (Selection Sort) CSharp/_17_Sorting/_00_Sorting.odg
CSharp/_17_Sorting/_00_Sorting.cs
213 Sorting (Insertion Sort) CSharp/_17_Sorting/_00_Sorting.odg
CSharp/_17_Sorting/_00_Sorting.cs
214 Sorting (Quick Sort - Theory 1) CSharp/_17_Sorting/_00_Sorting.odg
CSharp/_17_Sorting/_00_Sorting.cs
215 Sorting (Quick Sort - Theory 2) CSharp/_17_Sorting/_00_Sorting.odg
CSharp/_17_Sorting/_00_Sorting.cs
216 Sorting (Quick Sort - Implementation) CSharp/_17_Sorting/_00_Sorting.odg
CSharp/_17_Sorting/_00_Sorting.cs
217 Sorting (Merge Sort - Theory) CSharp/_17_Sorting/_00_Sorting.odg
CSharp/_17_Sorting/_00_Sorting.cs
218 Sorting (Merge Sort - Implementation) CSharp/_17_Sorting/_00_Sorting.odg
CSharp/_17_Sorting/_00_Sorting.cs
219 Sorting (Heap Sort) CSharp/_17_Sorting/_00_Sorting.odg
CSharp/_17_Sorting/_00_Sorting.cs
220 Leadership LifeExperiences/Leadership.pptx
221 Generics CSharp/_18_Generics/_01_Generics.odg
CSharp/_18_Generics/_02_Generics.cs
222 .Net API Generics Collections: KeyValuePair and LinkedList CSharp/_19_Collections/_00_Overview.txt
CSharp/_19_Collections/_02_KeyValuePair.cs
CSharp/_19_Collections/_03_LinkedList.cs
223 Question: Reverse a Double Linked List CSharp/_99_CodingQuestions/_02_ReverseDoubleLinkedList.cs
224 Question: Sort a LinkedList with 0, 1 and 2 CSharp/_99_CodingQuestions/_03_SortDoubleLinkedListWith012.cs
225 Question: Sort a LinkedList with 0, 1 and 2 (Performance Considerations) CSharp/_99_CodingQuestions/_03_SortDoubleLinkedListWith012.cs