Skip to content

Coursework in Computer Science through the Open Source Society University

License

Notifications You must be signed in to change notification settings

shinroo/ossu-cs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 

Repository files navigation

Open Source Society University

Computer Science Coursework

Robert Focke Open Source Society University - Computer Science

Core Modules

C100 - Intro to Computer Science Class

Topics covered: computation imperative programming basic data structures and algorithms

Code Class Notes Code Status
C101 Introduction to Computer Science and Programming, using Python

C200 - Core Computer Science Classes

Topics covered: functional programming design for testing program requirements common design patterns unit testing``object-oriented design Java static typing dynamic typing ML-family languages (via Standard ML) Lisp-family languages (via Racket) Ruby

Code Class Notes Code Status
C201 How to Code: Simple Data
C202 How to Code: Complex Data
C203 Software Construction - Data Abstraction
C204 Software Construction - Object-Oriented Design
C205 Programming Languages, Part A
C206 Programming Languages, Part B
C207 Programming Languages, Part C

Readings:

  1. Learn You a Haskell for a Great Good!
  2. Learn Prolog Now!

C300 - Core Mathematics Classes

Topics covered: linear transformations matrices vectors mathematical proofs number theory differential calculus``integral calculus sequences and series discrete mathematics basic statistics O-notation graph theory vector calculus discrete probability

Code Class Notes Code Status
C301 Essence of Linear Algebra
C302 Linear Algebra - Foundations to Frontiers
C303 Calculus 1A: Differentiation
C304 Calculus 1B: Integration
C305 Calculus 1C: Coordinate Systems & Infinite Series
C306 Mathematics for Computer Science

C400 - Core Systems Classes

Topics covered: procedural programming manual memory management boolean algebra gate logic memory computer architecture assembly machine language virtual machines high-level languages compilers operating systems network protocols

Code Class Notes Code Status
C401 Build a Modern Computer from First Principles: From Nand to Tetris
C402 Build a Modern Computer from First Principles: Nand to Tetris Part II
C403 Introduction to Computer Networking
C404 ops-class.org - Hack the Kernel

Readings

  1. Operating Systems: Three Easy Pieces

C500 - Core Theory Classes

Topics covered: divide and conquer sorting and searching randomized algorithms graph search shortest paths data structures greedy algorithms minimum spanning trees dynamic programming NP-completeness

Code Class Notes Code Status
C501 Algorithms: Design and Analysis, Part I
C502 Algorithms: Design and Analysis, Part II

C600 - Core Applications Classes

Topics covered: Agile methodology REST software specifications refactoring relational databases transaction processing data modeling neural networks supervised learning unsupervised learning OpenGL raytracing block ciphers authentication public key encryption

Code Class Notes Code Status
C601 Databases c601_notes In Progress
C602 Machine Learning
C603 Computer Graphics
C604 Cryptography I
C605 Software Engineering: Introduction
C606 Software Development Capstone Project
C607 Web Development: HTML, CSS, JavaScript c607_notes In Progress

Advanced Modules

A100 - Advanced Programming Classes

Topics covered: debugging theory and practice goal-oriented programming object-oriented analysis and design UML large-scale software architecture and design

Code Class Notes Code Status
A101 Software Debugging
A102 Software Testing
A103 Software Architecture & Design

A200 - Advanced Mathematics Classes

Topics covered: parametric equations polar coordinate systems multivariable integrals multivariable differentials probability theory

Code Class Notes Code Status
A201 Multivariable Calculus
A201 Introduction to Probability - The Science of Uncertainty

A300 - Advanced Systems Classes

Topics covered: digital signaling

Code Class Notes Code Status
A301 Reliable Distributed Systems, Part 1
A302 Reliable Distributed Systems, Part 2

A400 - Advanced Theory Classes

Topics covered: formal languages Turing machines computability event-driven concurrency automata distributed shared memory consensus algorithms state machine replication computational geometry theory propositional logic relational logic Herbrand logic concept lattices game trees

Code Class Notes Code Status
A401 Introduction to Logic
A402 Automata Theory
A403 Computational Geometry
A404 Introduction to Formal Concept Analysis
A405 Game Theory

A500 - Advanced Applications Classes

Topics covered: clouds MapReduce key-value/NoSQL stores classical distributed algorithms widely-used distributed algorithms scalability data centers networks CDNs cloud middleware JSON RPC REST load balancing infrastructure as a service cloud storage services analytics

Code Class Notes Code Status
A501 Cloud Computing Concepts, Part 1
A502 Cloud Computing Concepts: Part 2
A503 Cloud Computing Applications, Part 1: Cloud Systems and Infrastructure
A504 Cloud Computing Applications, Part 2: Big Data and Applications in the Cloud
A505 Cloud Networking

Topics covered: pattern discovery visualization search engine technologies text retrieval vector space model probabilistic retrieval models statistical language models recommender systems text mining natural language content analysis paradigmatic relation discovery syntagmatic relation discovery probabilistic topic models probabilistic latent semantic analysis text clustering text categorization opinion mining and sentiment analysis text-based prediction apriori algorithm FPGrowth sequential pattern mining cluster analysis minkowski distance k-means clustering BIRCH

Code Class Notes Code Status
A506 Data Visualization
A507 Text Retrieval and Search Engines
A508 Text Mining and Analytics
A509 Pattern Discovery in Data Mining
A510 Cluster Analysis in Data Mining

Topics covered: characteristics of big data data science process distributed file systems scalable computing hadoop data models redis data streams postgres MongoDB pandas DataFrames splunk big data pipelines apache spark KNIME plots feature transformation dimensionality reduction k-nearest neighbors decision trees naïve bayes model performance graphs path analytics parallel programming model for graphs pregel

Code Class Notes Code Status
A511 Introduction to Big Data
A512 Big Data Modeling and Management Systems
A513 Big Data Integration and Processing
A514 Machine Learning With Big Data
A515 Graph Analytics for Big Data

Topics covered: bootstrap node.js jquery SASS LESS angularjs reactive programming typescript ionic apache cordova mobile application development user authentication mongodb expressjs REST APIs

Code Class Notes Code Status
A516 Front-End Web UI Frameworks and Tools: Bootstrap 4
A517 Front-End JavaScript Frameworks: Angular
A518 Multiplatform Mobile App Development with Web Technologies: Ionic and Cordova
A519 Multiplatform Mobile App Development with NativeScript
A520 Server-side Development with NodeJS, Express and MongoDB

About

Coursework in Computer Science through the Open Source Society University

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published