Skip to content

Carrington-dev/computer_science_repo

Repository files navigation

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

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

📦 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:

    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):

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 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

https://github.com/G33kzD3n/Catalogue/blob/master/Domain-Driven%20Design_%20Tackling%20-%20Eric%20Evans_14.pdf

UUID Generation Kotlin

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
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
  1. Linked List (Singly)

    • Insertion
    • Merge
    • reversing
    • Insert at index (to checkout)
    • Add a tail
  2. Queue

    • insert
    • pop
    • top
    • use cases
    • size
  3. Stack

    • insert
    • pop
    • top
    • use cases
    • size
  4. Vector

    • insert
    • pop
    • top
    • index at
    • size
    • reallocate
    • allocate
    • top
    • last
  5. HashMap

  6. Heap

  7. Graphs

https://github.com/Carrington-dev/IDSA
https://www.geeksforgeeks.org/binary-search-tree-data-structure/
https://python-book.softuni.org/chapter-11-tricks-and-hacks.html