Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/carrington-dev/computer_science_repo

Wits Computer Science Practice
https://github.com/carrington-dev/computer_science_repo

algorithms-and-data-structures alogrithms computer-science cpp11 data-structures-and-algorithms progrmming-language

Last synced: 18 days ago
JSON representation

Wits Computer Science Practice

Awesome Lists containing this project

README

        

Here’s a well-structured `README.md` template tailored to a Computer Science undergraduate course repository. You can adapt the sections according to your specific course, goals, or structure.

---

# πŸ“š Computer Science Undergraduate Course Repository

Welcome to the **BSc Computer Science** GitHub repository! This repository is intended to support learning, collaboration, and code sharing for students enrolled in the course.

## πŸ—‚οΈ Table of Contents
- [About the Course](#about-the-course)
- [Repository Structure](#repository-structure)
- [How to Use This Repository](#how-to-use-this-repository)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Contributing Guidelines](#contributing-guidelines)
- [License](#license)
- [Acknowledgements](#acknowledgements)

---

## πŸ” About the Course
This repository contains materials, assignments, and code examples for **BSc Computer Science** at **University Of The Witwarersrand**. The primary focus of this course is to develop foundational knowledge and skills in **[key topics]**, such as:

- **Programming Languages:** [e.g., Python, C++, Java, etc]
- **Data Structures & Algorithms**
- **Artificial Intelligence and Machine Learning**
- **Operating Systems and Networks**
- **Databases and Software Engineering Principles**
- **System Design**
- **Mobile Computing**

---

## πŸ—‚οΈ Repository Structure
```plaintext
πŸ“¦ computer_science_repo
β”œβ”€β”€ πŸ“ lectures/ # Lecture slides, notes, and supplementary materials
β”œβ”€β”€ πŸ“ assignments/ # Programming assignments and problem sets
β”œβ”€β”€ πŸ“ projects/ # Group and individual project submissions
β”œβ”€β”€ πŸ“ solutions/ # Solutions to exercises (if applicable)
β”œβ”€β”€ πŸ“ resources/ # External resources (articles, books, videos)
└── README.md # This README file
```

---

## πŸš€ How to Use This Repository
1. **Clone the repository:**
```bash
git clone https://github.com/Carrington-dev/computer_science_repo.git
cd computer_science_repo
```

2. **Explore by folder:** Browse relevant folders for assignments, projects, or lecture materials.
3. **Fork and contribute:** If you want to add or improve content, feel free to fork the repo and submit a pull request!

---

## πŸ”§ Getting Started
To complete the coding assignments, you will need:

- A working installation of **[Required Programming Language]** (e.g., Python 3.x)
- **Git** installed on your machine for version control
- Optionally: A **virtual environment** to manage dependencies

**Example:** Set up a virtual environment (Python):
```bash
python -m venv venv
source venv/bin/activate # On Mac/Linux
venv\Scripts\activate # On Windows
```

---

## πŸ“‹ Prerequisites
Before working through this course, it’s recommended to have:
- Basic programming knowledge (e.g., Python or Java)
- Familiarity with Git/GitHub
- [Any other specific prerequisites]

---

## 🀝 Contributing Guidelines
Contributions to this repository are welcome! Please follow these guidelines:
1. **Fork** the repository and **create a branch** for your changes.
2. **Commit** your changes with descriptive messages.
3. **Create a pull request** explaining your changes.
4. Wait for feedback and approval from the maintainers.

---

## πŸ“œ License
This repository is licensed under the **[License Name]**. See the [LICENSE](LICENSE) file for more information.

---

## πŸ™ Acknowledgements
Special thanks to:
- **[Professor Name]** for course materials and guidance
- **University of [Wits/Cape Town/etc.]** for providing a great learning environment
- **Contributors** who have helped improve this repository

---

Feel free to suggest improvements to this `README.md` by opening an issue or submitting a pull request! πŸŽ‰

---

## 🌟 Happy Learning!

---

This template should help make your course repository more organized and professional. Let me know if you'd like any changes or additional sections!

## Other Writters
```bash
https://github.com/G33kzD3n/Catalogue/blob/master/Domain-Driven%20Design_%20Tackling%20-%20Eric%20Evans_14.pdf
```
### UUID Generation Kotlin
```bash
https://www.uuidgenerator.net/dev-corner/kotlin
```

## Topics
We covered a number of topics here.
This repo also includes practice answers from hackerrank

### Data Structures
1. Binary Search Trees
* Insertion
* Pr-eorder traversal
* In-order traversal
* Post-order traversal
* Outline Traversal
* recursion
* using level counter method
* Left Nodes Traversal Only (printout)
* recursion
* using level counter method
* Right Nodes Traversal Only (printout)
* Change order traversal
* Level order traversal
* using a queue
* using level counter method
* recursion
* Todo
* Tree Length
* Leaf Node Print Out

```bash
25 20 36 10 22 30 40 5 12 28 38 48 -1
25 20 36 10 22 30 40 5 12 28 38 48 21 24 23 29 37 47 46 -1
25 20 36 10 22 23 30 40 5 12 28 38 48 21 24 29 37 47 46 -1
```
2. Linked List (Singly)
* Insertion
* Merge
* reversing
* Insert at index (to checkout)
* Add a tail
3. Queue
* insert
* pop
* top
* use cases
* size
5. Stack
* insert
* pop
* top
* use cases
* size
6. Vector
* insert
* pop
* top
* index at
* size
* reallocate
* allocate
* top
* last
7. HashMap

8. Heap
9. Graphs

```bash
https://github.com/Carrington-dev/IDSA
https://www.geeksforgeeks.org/binary-search-tree-data-structure/
```

```bash
https://python-book.softuni.org/chapter-11-tricks-and-hacks.html
```