Skip to content

BrenoFariasdaSilva/Master-UTFPR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

179 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Master-UTFPR centralizes coursework, practices, and reports from UTFPR's postgraduate Computer Science program, combining C implementations for Algorithms and Data Structures with Java and Maven-based activities for Software Testing.


GitHub Code Size in Bytes GitHub Commits GitHub Last Commit GitHub Forks GitHub Language Count GitHub License GitHub Stars GitHub Contributors GitHub Created At wakatime

RepoBeats Statistics

Table of Contents

Introduction

This repository brings together the material developed for two master's level subjects at UTFPR. In PPGCC02 - Algorithms And Data Structures, the content is organized into activities, classes, practice folders, templates, and tests that cover arrays, heterogeneous structures, dynamic memory allocation, files, stacks, lists, recursion, hash tables, binary trees, AVL trees, B-trees, and sorting algorithms through C implementations. In PPGCC12 - Software Testing, the activities focus on automated testing techniques with Java projects structured with Maven, including unit testing, identifier validation, mutation-oriented exercises, property-based testing, mocks, and Test-Driven Development.

Requirements

  • Git
  • GCC compiler
  • Make
  • Java Development Kit (JDK 21 or higher)
  • Maven 3 or higher

Setup

Clone the repository

  1. Clone the repository with the following command:

git clone https://github.com/BrenoFariasdaSilva/Master-UTFPR.git cd Master-UTFPR


## Installation:

* Programing Languages:

* Manually:
   ```bash
 # C toolchain
 sudo apt install gcc make -y

 # Java toolchain
 sudo apt install openjdk-21-jdk maven -y
   ```

* Using Makefile:
   ```bash
 cd "Subjects/PPGCC02 - Algorithms And Data Structures/Template"
 make
   ```

* Using Maven:
   ```bash
 cd "Subjects/PPGCC12 - Software Testing/Activities/Activity 01 - Adição Números Grandes"
 mvn clean test
   ```  

## Run Programing Language Code:

```bash
# C example
cd "Subjects/PPGCC02 - Algorithms And Data Structures/Activities/Activity 12 - Sorting Algorithms"
make run

# Java example
cd "Subjects/PPGCC12 - Software Testing/Activities/Activity 07 - Test Driven Development"
mvn clean test

Dependencies

  1. Install the Maven dependencies for the Software Testing activities with the following command:

cd "Subjects/PPGCC12 - Software Testing/Activities/Activity 06 - Mocks" mvn dependency:resolve


## Usage

In order to run the project, choose a subject activity and use the corresponding command:

```bash
# C activities
cd "Subjects/PPGCC02 - Algorithms And Data Structures/Activities/Activity 07 - Recursion/ex06 - Binary Search"
make run

# Java activities
cd "Subjects/PPGCC12 - Software Testing/Activities/Activity 06 - Mocks"
mvn clean test

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. If you have suggestions for improving the code, your insights will be highly welcome. In order to contribute to this project, please follow the guidelines below or read the CONTRIBUTING.md file for more details on how to contribute to this project, as it contains information about the commit standards and the entire pull request process. Please follow these guidelines to make your contributions smooth and effective:

  1. Set Up Your Environment: Ensure you've followed the setup instructions in the Setup section to prepare your development environment.

  2. Make Your Changes:

    • Create a Branch: git checkout -b feature/YourFeatureName
    • Implement Your Changes: Make sure to test your changes thoroughly.
    • Commit Your Changes: Use clear commit messages, for example:
      • For new features: git commit -m "FEAT: Add some AmazingFeature"
      • For bug fixes: git commit -m "FIX: Resolve Issue #123"
      • For documentation: git commit -m "DOCS: Update README with new instructions"
      • For refactorings: git commit -m "REFACTOR: Enhance component for better aspect"
      • For snapshots: git commit -m "SNAPSHOT: Temporary commit to save the current state for later reference"
    • See more about crafting commit messages in the CONTRIBUTING.md file.
  3. Submit Your Contribution:

    • Push Your Changes: git push origin feature/YourFeatureName
    • Open a Pull Request (PR): Navigate to the repository on GitHub and open a PR with a detailed description of your changes.
  4. Stay Engaged: Respond to any feedback from the project maintainers and make necessary adjustments to your PR.

  5. Celebrate: Once your PR is merged, celebrate your contribution to the project!

Collaborators

We thank the following people who contributed to this project:

My Profile Picture
Breno Farias da Silva

License

Apache License 2.0

This project is licensed under the Apache License 2.0. This license permits use, modification, distribution, and sublicense of the code for both private and commercial purposes, provided that the original copyright notice and a disclaimer of warranty are included in all copies or substantial portions of the software. It also requires a clear attribution back to the original author(s) of the repository. For more details, see the LICENSE file in this repository.

About

Repository containing a collection of exercises from various subjects in my Master's program.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors