Code Monkey home page Code Monkey logo

programming's Introduction

Programming Projects

Path: Programming/Data Structures + algorithms/gitlet project/

-Gitlet description: A version-control system that mimics some of the basic features of the popular system Git. This allows users to make commits of different versions of files, reports the status of the current working directory, and allows the user to revert to prior versions of their project. This program allows a user to run 13 of the commonly used git commands including: init, add, commit, rm, log, global-log, find, status, checkout, branch, rm-branch, reset, merge. (Java)-(OOP, Trees, persistance, search algorithms, queues)

Path: Programming/Data Structures + algorithms/cube project/

-Cube description: A two player pure strategy boardgame consisting of an N×N array of squares, where N>1. At any time, each square may have one of three colors: red, blue, or white (neutral), and some number of spots (as on dice). Initially, all squares are white and have one spot. The neighbors of a square are the horizontally and vertically adjacent squares (diagonally adjacent squares are not neighbors). We say that a square is overfull if it contains more spots than it has neighbors. Thus, the four corner squares are overfull when they have more than two spots; other squares on the edge are overfull with more than three spots; and all others are overfull with more than four spots. There are two players, whom we'll call Red and Blue. The players each move in turn, with Red going first. A move consists of adding one spot on any square that does not have the opponent's color (so Red may add a spot to either a red or white square). A spot placed on any square colors that square with the player's color. This project contains an AI component to automatically play against a real user. The game can be played at this link: http://www.playonlinedicegames.com/jumpingcube (Java)-(Trees, OOP, game trees, alpha beta pruning)

Path: Programming/Data Structures + algorithms/enigma machine project/

-Enigma Machine description: A simulator for a generalized version of the WWII German enigma machine. This program takes descriptions of possible initial configurations of the machine and messages to encode or decode. The details of the enigma machine can be found at https://en.wikipedia.org/wiki/Enigma_machine This version of the enigma machine uses the same components as the real enigma machine but generalizes beyond the alphabet. (Java)-(OOP, interfaces, comparables)

Path: Programming/Data Structures + algorithms/colors project/

-Colors description: A game played on a W×H rectangular grid of square cells. Every square is colored from a set of available colors. The term active region refers to the set of grid cells having the same color as the upper-left cell and orthogonally reachable from that square. A cell is orthogonally reachable from a square S having color C if it can be reached by moving one square at a time up, down, left, or right starting from S and moving only to squares of color C. Each time the player clicks on a square with a color different from that of the active region, all the cells currently in the active region take on that color. So if there are cells of this color adjacent to the active region, they get added to the active region. The player's goal is to make all cells the same color by clicking a series of cells. The program sets an upper limit on the number of moves, depending on its own determination of how many moves are needed. (Java)-(OOP, arrays, hashsets)

Path: Programming/Structure of computer programs/bugs project/

-Bugs description: A game in which a battle between ants and bees takes place. There is a parent class "insects" that has children classes "ants" and "bees"; the ants and bees classes have many children themselves with differing attributes for each subclass. (Python)-(Inheritance, object-oriented programming, classes)

Path: Programming/Structure of computer programs/typer project/

-Typer description: A program that measures typing speed and implements typing autocorrect, which is a feature that attempts to correct the spelling of a word after a user types it. (Python)-(Recursion, abstraction, string manipulation, lists)

Path: Programming/Structure of computer programs/piggy project/

-Piggy description: Two players alternate turns trying to be the first to end a turn with at least 100 total points. On each turn, the current player chooses some number of dice to roll, up to 10. That player's score for the turn is the sum of the dice outcomes. (Python)-(Higher order functions, control statements, recursion)

Path: Programming/Data Structures + algorithms/Assignments/

-Assignments description: This folder contains lab/homework assignments that are much shorter and delve deeply into a specific topic.

Path: Programming/Structure of computer programs/Assignments/

-Assignments description: This folder contains lab/homework assignments that are much shorter and delve deeply into a specific topic.

programming's People

Contributors

kaizencoderr avatar

Watchers

 avatar  avatar

Forkers

shanvirani6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.