List of

Courses

Materials and tasks from subjects that I have taught.

  1. Computer programming
  2. Data structure
  3. File structure
  4. Machine learning
  5. Introduction to computer graphics

Computer Programming

Classes will be held at Laboratory 1, UFMS.

01Month

1.1 - Introduction and Overview

Computer programming, or coding, is to analyze a process and then write a sequence of instructions that can solve a problem. In this course, students will learn to code to arranging items in a sequence ordered by some criterion, that is, sorting values. The second part of this course students will be able to create their own data types and its data strucures, such as linked lists, queue and stacks.

1.2 - Pointers

- Single
- Double

https://www.cs.fsu.edu/~myers/c++/notes/pointers1.html

1.4 - Functions and Data Types

- Simple
- Composed

// minha primeira função em C
#include <stdlib.h>

int somaArg(int a, int b) {
   return (a + b);
}

int somaPtr(int *a, int *b) {
   return (*a + *b);
}

int main () {
   int varX, varY;
   scanf("%d",&varX,);
   scanf("%d",&varY,);
   
   printf("O valor da soma é: %d", somaArg(varX,varY));
   printf("O valor da soma é: %d", somaPtr(&varX,&varY));
       
   return 0;
}

1.5 - Linked Lists

- Insert
- Search
- Remove
- Print

02Month

2.1 - Stacks

- Insert
- Search
- Remove
- Print

2.2 - Queues

- Insert
- Search
- Remove
- Print

2.3 - Two-way Linked Lists

- Insert
- Search
- Remove
- Print

2.4 - Circular Linked Lists

- Insert
- Search
- Remove
- Print

2.5 - Advanced Data Structures

- Sparse Martix
- Trees

03Month

3.1 - Sorting Algorithms

3.2 - Bubble Sort

3.3 - Insertion Sort

3.4 - Selection Sort

04Month

4.1 - Merge Sort

4.2 - Quick Sort

4.3 - Heap Sort

4.3 - Radix and Bucket Sort

Data Structure

Classes will be held at Laboratory 1, UFMS.

(return to the top)

01Month

1.1 - Introduction and Overview

In computer programming, a data structure is a particular way of organizing and storing data so that it can be used efficiently to access, insert or remove elements. Although there are well-known data structures, new ones can be designed to organize data to suit specific purposes. Thus, a data structure may be selected or designed according to the problem.

1.2 - Review about Pointers

- Single
- Double

https://www.cs.fsu.edu/~myers/c++/notes/pointers1.html

1.3 - Abstract Data Types (ADTs)

- Simple
- Composed
- New Type

#include <stdlib.h>
                                            
typedef struct SNo{
    int chave;
    SNo *prox;
};

1.4 - Linked Lists

- Insert
- Search
- Remove
- Print

02Month

2.1 - Stacks

- Insert
- Search
- Remove
- Print

2.2 - Queues

- Insert
- Search
- Remove
- Print

2.3 - Two-way Linked Lists

- Insert
- Search
- Remove
- Print

2.4 - Circular Linked Lists

- Insert
- Search
- Remove
- Print

2.5 - Sparse Matrix

- Insert
- Search
- Remove
- Print

03Month

3.1 - Recursion

- Sequence of Fibonacci
- Factorial
- How to implement

int fibonacci(int n) {
  if (n == 0) //condição de parada
    return 0;
  if (n == 1) //condição de parada
    return 1;

  return fibonacci(n - 1) + fibonacci(n - 2);
}
                                        

3.2 - Binary Search Trees

- Insert
- Search
- Remove

3.3 - Tree Traversals

- Pre-Order
- In-Order
- Post-Order

3.4 - Size and Depth

- And other functions

04Month

4.1 - Balanced Binary Tree: AVL

- Insert
- Search
- Remove

4.2 - Rotations

- Left
- Right
- Left-Right
-Right-Left