Coder Social home page Coder Social logo

jbperry1998 / dsa1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from markfloryan/dsa1

0.0 0.0 0.0 31.08 MB

A University level data structures and algorithms (CS2) course

Makefile 0.03% HTML 31.41% Java 4.13% TeX 10.09% CSS 23.37% JavaScript 30.13% Shell 0.25% C 0.24% C++ 0.36%

dsa1's Introduction

CS2501 - Data Structures and Algorithms I

Introduction | Repository contents | Contributing to this repository | Course description | License

Introduction

The repository contains content for CS2501 - Data Structures and Algorithms I at the University of Virginia. This course is part of the Computer Science department's curriculum pilot.

Repository Contents

Note that the links below will not work correctly if you are viewing this online at github.com -- you will need to clone (download) the repository first

  • Course Logistics: The syllabus, introductory slide deck, etc.
  • labs (md): the labs are the main assignments in the course, and each lab is split into pre-lab, in-lab, and post-lab parts.
  • slides (md): Contains the slides used in the course. The slides use reveal.js, an HTML presentation framework.
  • class exercises: Code we wrote in lecture
  • Other stuff:
    • java cheat sheet: A cheat sheet of common Java things. Will be updated throughout the semester.

Contributing to this Repository

Updates to the repository are restricted to approved individuals only, to prevent anybody from messing with the slides right before a lecture. However, others can still contribute to this repository -- to do so, take the following steps:

  1. Create a github account, if you do not have one
  2. Fork this repository: you can click on the "Fork" link in the upper right, or just click here
  3. Clone your forked repository on to your local machine
  4. Make any changes you want to your forked version, then commit and push your changes back to your forked repository
  5. Create a pull request, following the instructions here

At that point, I will receive a notice that a change has been submitted, and I'll look at it and hopefully accept it into the main repository.

When you want to bring in the updates from the main dsa1 github repository into your forked repository, you will need to follow the instructions here.

Course Description

A second course in computing with an emphasis on foundational data structures and program analysis. The course provides a comprehensive look at the Java programming language including object oriented programming, concurrency, inheritance / polymorphism. Additionally, foundational data structures and related algorithms / analysis are studied. These include Lists, Stacks, Queues, Trees, Hash Tables, and Priority Queues.

The ABET course objectives are:

  • Students will understand how to write programs in Java, including all basic structures (e.g., if-statements, loops, functions), recursion, objects, methods, inheritance / polymorphism, and exception throwing / handling.
  • Students will understand and implement several key data structures, required for a foundational education in computer science. These data structures include Vectors, Linked Lists, Stacks, Queues, Binary Search Trees, AVL Trees, Hash Tables, and Priority Queues.
  • Students will understand and be able to implement various sorting methods, including bubble sort, insertion sort, mergesort, quicksort, and heapsort.
  • Students will be able to understand and analyze program analysis using practical approaches (e.g., mergesort vs. quicksort) and theoretical approaches (e.g., balanced vs. unbalanced search trees). This will include both space and time complexity analyses.
  • Students will gather an abstract, and basic understanding of concurrency and associated issues (shared resources, etc.). Students will be able to implement simple multi-threaded programs in Java.

License

The material in this repository is released under a Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA).

Copyright (c) 2018 by Mark Floryan

dsa1's People

Contributors

markfloryan avatar anlandu avatar

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.