Skip to content

Module 1

AyanF edited this page Mar 10, 2023 · 8 revisions

Assignments

Module - 1

The language to be used for coding-related assignments - C++/Java.

For the theoretical assignments use GitHub Wiki.

while(module!="complete"){

GitHub

Task:

  1. Set your user name (user. name) and email address (user.email) using terminal
  2. Fork the GitHub repository for the assignments
  3. Refer to the following links https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup https://cwiki.apache.org/confluence/display/OFBIZ/OFBiz+commit+message+template

Topics

  • Configuration - Git config
  • Repository
  • Commit
  • Stages of a file - Untracked, Staged, Tracked & Modified/Dirty
  • .gitignore
  • Diffing
  • Branching
  • Log command
  • Reset and Revert
  • Cherry Pick
  • Merge conflicts
  • Stashing
  • Remote
  • Pull & Push
  • GitHub & GitLab
  • Merge Request
  • Pull Request
  • Forking

Unit Testing

Create a page in Wiki for unit testing. Add your notes and references also.

Follow the below step for the assignments:

  1. Fork the repository -

  2. Add the code snippets with proper file names in the repository.

  3. Make sure to have proper comments for the code added.

  4. Add the theory and content to the wiki of the same GitHub repository.

  5. For a particular module

    • For Code: Create a branch as yourName:ModuleName and add the code there. Like JanviTalreja:Module1
    • For Wiki: Create a page for a particular module like Module 1 Assignment.
  6. Create a pull request from your branch to the HotWax repository’s main branch

  7. Maintain the module-wise tasks on GitHub Projects.

  8. The deadline to submit the assignment is Friday EOD every week.

  9. Share the link(Pull Request and Wiki) to module-wise assignments on the group chat.

Important Notes:

  • Make sure to follow the best practices for Git like proper commit messages, maintaining module-wise branches, maintaining project tasks, and tracking the time for same.

Data Structures

Implement the following from scratch with given operations, without using any standard template libraries or collection framework.

  1. Linked list
  2. Stack
  3. Queue
  4. Tree
  5. Graph
  6. Hash Map

Implement the following operations - Add - Delete - Update - Sort (Linked List, Tree, Hash Map) - Search/Traversal

The program should be Menu Driven There should be a separate operation to terminate the program, it should not terminate after any other operation/s.

Hashing

Implement hashing from scratch and the following collision resolution techniques

    a) Chaining

    b) Linear probing

    c) Quadratic Probing

    d) Random Probing

    e) Double Hashing

Find number of collisions and amount of time taken in each method

Write unit test cases for all programs

  • Create a text file for each program.
  • The file should contain all possible types of test cases with inputs and outputs.

}

Clone this wiki locally