Skip to content

Latest commit

 

History

297 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UFPel

Projects related to my graduation in Computer Science from the Federal University of Pelotas

Course flowchart

How to Use

  1. Clone the repository to your local machine using the following command:
    git clone https://github.com/HuberM1998/UFPel.git
    
  2. Navigate to the desired project folder based on your academic course or area of interest.
  3. Each project folder contains specific instructions on how to run or use the project. Refer to the respective project's README or documentation for detailed information.
  4. Explore the flowcharts in the repository to get an overview of the course structure and project relationships.

How to Contribute

  1. Fork the repository by clicking the "Fork" button on the top right of the repository page. This creates a copy of the repository in your GitHub account.
  2. Create a new branch for your contribution:
    git checkout -b feature/your-feature-name
    
  3. Make your changes, add new features, or fix bugs.
  4. Commit your changes:
    git add .
    git commit -m "Add your commit message here"
    
  5. Push the changes to your forked repository:
    git push origin feature/your-feature-name
    
  6. Create a pull request by navigating to the original repository and clicking the "New Pull Request" button.
  7. Provide a detailed description of your changes in the pull request, and submit it.

Thank you for contributing! Your efforts help improve and enhance the projects related to the Computer Science graduation at the Federal University of Pelotas.

Repository flowchart

Programming Language Concepts (CLP)

Compare the performance of programs using different compiler optimization options (-O2 and -O3), against compilation without using the optimization option. Running the programs, collecting the data, presenting the results in the form of tables and/or graphs. Research project on programming language concepts, addressing the theme: "Analysis of programming languages for solving the Gram-Schmidt process".

Python

Operational Systems (SO)

Meal delivery with concurrent schedule. Analogous to the producer-consumer problem, also known as the bounded-buffer problem, the employee being analogous to the producer, the deliveryman to the consumer, and the buffer to the bag. Research project in operating systems, with topic in: "Definitions and advanced topics of the distributed file system NFS (Network File System)".

Python

Introduction to parallel and distributed processing (IPPD)

Classification of architectures for parallel and distributed systems. Concurrent programming models. Shared memory. Exchange of Messages. Case studies. Fibonnaci, Merge Sort, Integral calculation, quick sort using a parallelized approach in CUDA, OpenMP and MPI.

Projects: Parallel Full Search (https://github.com/HuberM1998/Parallel-Fullsearch)

C

Algorithms and Programming (AEP)

Solving computational problems. Variable manipulation. Development of algorithms using sequential, conditional and repetition flows. Use of Vectors and Matrices in the treatment of data sets, as well as records. Study of the concepts of subroutines and functions.

C

Computer Programming (PC)

Complete study of a sequential programming language: structure of a program, types, structured types and pointers, declarations, commands, subprograms, input and output, algorithms with arrays, use of files. Dynamic allocation and linear data structures. Techniques and tools for program development. Coding style: code documentation, data declaration, statement construction.

C

Algorithms and Data Structure I (AED1)

Insertion Sort, Selection Sort, Merge Sort, Quick Sort, List, Stack, Priority Queues (heaps), Auto-balanced trees (AVL, Red-and-Black), Binary Lookup Trees.

C

Algorithms and Data Structure II (AED2)

Minimal Spanning Tree resulting from the execution of Kruskal Algorithms and Tries types.

C

Algorithms and Data Structure III (AED3)

Approximate algorithm to solve the traveling salesman problem (TSP)

Python

Computational Numerical Calculation (CNC)

numerical methods of bisection, false position, newton, secant, Gaussian elimination, Least Squares Method, Trapezoidal Method, Simpson's 1/3 Method, Simpson's 3/8 Method and Centered Difference Approximation

Python

Object Oriented Programming (POO)

Game based on world of warcraft in rpg mode

Java

Systems Programming (PS)

Implementation of a hypothetical Z808 machine

Java

Advanced Digital Systems (SDA)

ALU and Registrar Bank. ALU Testbench. Multipliers Project. Hadamard. Neander Project.

vhdl

Computer Architecture and Organization I (AOC)

The Hardware/Software Interface. Machine language and mnemonic language. Set of instructions and addressing modes. Processor organization: operating block and block of control. Performance Measures. Pipeline organization. RISC and CISC machines

assembly

Computer Architecture and Organization II (AOC2)

Implementation of a memory hierarchy targeting modern processors, specifically the intel iX processors. An example of a virtual memory and I/O. Experiments with data and instruction caching using Vortex 1.

Python

Digital Techniques (TD)

Introduction to Digital Systems. MOS Technology: the MOS Transistor, Logic Gates. Boolean Algebra and Logic Circuits: functions, canonical representations, minimization, mapping, dynamic behavior; Arithmetic and Interconnection Combinational Circuits. Sequential Circuits: latches and flip-flops, registers and counters. Memory Blocks. Analysis of Synchronous Sequential Machines: Mealy and Moore models. Programmable Devices. Basics of VHDL.

Projects: ALU, Synchronous Counter

vhdl

Digital Image Processing (PDI)

Concepts of representation and formation of images. Pixel operations. Convolution techniques and point-based operations. Histograms. Edge detectors. Filtering and enhancing digital images in the spatial domain. Filtering and enhancement of digital images in the frequency domain, Fourier transform. Morphological operations. Segmentation methods.

Projects: Leukocyte count

matlab

Special Topics in Computing IV: Computational Geometry (TEC4)

Line intersection algorithm (javascript). Image segmentation using a convex hull in microscope images, for counting, analyzing and classifying white blood cells in human blood (matlab).

Javascript matlab

Compiler design (PCOMP)

Concepts related to programming languages and formal languages, particularly the construction and transformation of grammars, as well as definitions of syntax, semantics and execution environment.

Projects: Compiler and interpreter for the Karloff language

Java

Computer graphics (CG)

Perception of two principles of 3D digital graphic modeling with different engineering attributes. Implementation of a mesh editor, dinner and animation in WebGL and the game Space-Invaders.

Javascript

Cad Tools (FERCAD)

Concepts, evolution and trends in integrated circuits. Integrated circuit design methodologies. Simulators and estimators. Algorithms for CAD. Electronic project automation. Electronic CAD tools. Implementation of the Quine-McCluskey Algorithm (QMC) and Maze Router (Lee).

Python

Computer Network (REDES)

Application layer. Transport layer. Network layer. Data link layer. Media access sublayer. Physical layer. Protocols case study. Cryptography concepts. Introduction to network security. Introduction to network management. Implementation of client and server architecture and p2p architecture.

Projects: Multiplayer chess game (https://github.com/HuberM1998/chess-socket)

Python

Formal Languages (LF)

Implementation of a Moore state machine. Informal and formal definition of a finite automaton with output, three mathematical examples and exemplification using a hardware description in VHDL.

vhdl

Database Design (PBD)

Implementation of the database used to create Adopetme, an application for adopting animals.

Javascript

About

Projects related to my graduation in Computing from the Federal University of Pelotas

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages