Nitesh8998 / Useful-Academic-Links

This repo has some usefull links to websites for topics, please fork add and generate a pull-request to join the party

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Useful-Academic-Links

This repo has some usefull links to websites for topics, please fork, add and generate a pull-request to join the party:tada::smirk:

Show your ❤️ for spreading knowledge 😎 🤘

Tips

Once you visit the link, to venture into more links related to that subject/instructor/university play around with the link ,i.e change the link hierarchy

eg: http://www.cs.columbia.edu/~martha/courses/4130/au13/ to http://www.cs.columbia.edu/~martha/courses/ to see other courses of the faculty.

Instructions to add links

  1. Please maintain the heirarchy
  2. Incase you think you have to add a new category please do so in respective heirarchy
  3. You may add a line or two for links discription.
  4. If you feel a course link is outdated please CUT IT DOWN don't remove it.

Table of Contents

  1. Design, Systems and Thinking
  2. Computer Systems Courses
    1. Basic

    2. Digital Systems

    3. Computer Organization and Assembly Programming

    4. Embedded Systems

    5. Computer Architecture

    6. Reconfigurable Computing

    7. VLSI Design and FPGA Programming

    8. Verification and Testing

    9. Characterizing and Benchmarking

    10. Hardware Security

    11. Operating Systems

    12. Kernel Dev and Device Drivers

    13. Compilers

    14. High Performance Computing/ Parallel Computing

    15. Quantum Computing and Quantum Space

    16. Systems Engineering for AI ML DL

    17. Hardware Blogs Websites Forums

  3. Networks, Security and Cryptography
  4. Computer Graphics and Design
  5. AI and ML
  6. Data Science and Analytics
  7. Computer Vision and Image Processing
  8. CS In Applied Sciences
  9. Theoretical Computer Science Courses
  10. Programming
  11. Math
  12. Miscellaneous

Design Systems And Thinking

Sytems

  1. Introduction-to-engineering-systems-spring-2011
  2. SYSTEM DYNAMICS: SYSTEMS THINKING AND MODELING FOR A COMPLEX WORLD
  3. 16-842 fundamentals-of-systems-engineering
  4. multidisciplinary-system-design-optimization-spring-2010
  5. system-design-and-analysis-based-on-ad-and-complexity-theories-spring-2005
  6. multivariable-control-systems-spring-2004
  7. 204-computer-algorithms-in-systems-engineering-spring-2010
  8. systems-optimization-models-and-computation-sma-5223-spring-2004
  9. 20-181-computation-for-biological-engineers-fall-2006
  10. engineering-apollo-the-moon-project-as-a-complex-system-spring-2007
  11. sol online - blog with different discussions on systems

Design AND Innovation

  1. Engineering-innovation-and-design-fall-2012
  2. 4-580 inquiry-into-computation-and-design fall-2006
  3. 4-500-introduction-to-design-computing-fall-2008
  4. seminar-on-health-care-systems-innovation-fall-2010
  5. organizing-for-innovative-product-development-spring-2007
  6. 15-320-strategic-organizational-design-spring-2011
  7. workshop-in-it-collaborative-innovation-networks
  8. managing-the-innovation-process
  9. civic-media-codesign-studio
  10. development-of-inventions-and-creative-ideas-spring 10.designing-and-sustaining-technology-innovation-for-global-health-practice
  11. fintech-shaping-the-financial-world-spring-2020
  12. dynamic-leadership-using-improvisation-in-business

Thinking AND Design

  1. darwin-and-design-fall-2010
  2. Design Thinking for learning and leading
  3. experimental-projects-i-spring-2003
  4. introduction-to-lean-six-sigma-methods-january-iap-2012
  5. modeling-and-assessment-for-policy-spring-2013
  6. language-and-mind-january-iap-2003
  7. introduction-to-design-inquiry-fall-2004
  8. Design Desciplin
  9. cynefin - Naturalising Sense-Making wiki
  10. Innovators Compass
  11. Ideo
  1. Design for Belonging
  2. Lean Thinking

Teaching Learning

  1. Teaching learning Lab MIT
  2. stem-concept-videos-fall-2013

Stuff That Helps

  1. Visualize Value
  2. GV Sprint

Computer Systems and Hardware Courses

Basic

  1. CMU Introduction to Computer Systems
  2. NAND to Tetris
    • One awesome course that gives you a taste of everything.
  3. Introduction to Computer Science Scientific Perspective

Digital Systems

  1. 6.375 MIT Complex Digital Systems
    • Stresses on Bluespec System Verilog!
  2. CPE 779: Advanced Computer Arithmetic
  3. 6.111 MIT Introductary Digital Systems Lab
  4. EE108 Stanford Digital Systems 2
  5. CSE352 Washington Hardware Design and Implementation

Computer Organization and Assembly Programming

  1. A short Guide on x86 Assembly

  2. ASM tutorial

  3. UT Arlington Computer Organization and Assembly Language Programming

  4. NTU Computer Organization and Assembly Languages

  5. CS107 Computer Organization and Systems

  6. Computer Organization

    • Has a lot of ARM related stuff
  7. CSE 30 UCSD Computer Organization and Systems Programming

  8. LMU Computer System Organization

    • Good material on assembly programming with x86

Embedded Systems

  1. CSE 4840 Columbia Embedded System Design
  2. Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C
  3. 15-348 CMU Embedded Systems
  4. 18-642 CMU Embedded System Software Engineering

Computer Architecture

  1. Eth-Zurich CMU Onur Mutlu SAFARI

    • Contains all the great content one needs to learn computer architecture, memory systems parallel computer architecture ...
  2. 6.823 MIT Computer System Architecture - Spring 2019

  3. 6.S078 - Computer Architecture: A Constructive Approach

  4. CSEP548 UW Computer Architecture

  5. High-Performance Computer Architecture

    • Was confused where to group this!
  6. UCB CS152 Computer Architecture and Engineering CS252 Graduate Computer Architecture

  7. 18-447 CMU Introduction to Computer Architecture

  8. INF3 ED Computer Architecture

  9. COMPAS Lab Stony Brooks

    • Has other systems related courses too.
  10. CSEP548 Washington Computer Architecture

  11. CSE548 Washington Computer Systems Architecture

  12. MISC -Branch prediction Report -Prefetching Report

Reconfigurable Computing

  1. ECE636 UMASS Reconfigurable Computing
  2. 18-643 CMU Reconfigurable Computing
  3. CS294-3 UCB Reconfigurable Computing
  4. 15-828/18-847 CMU

VLSI Design and FPGA Programming

  1. ECE 338: UCMB Intermediate Logic Design
    • Stresses on VHDL
  2. ECE 522: UCMB Hardware/Sofware Codesign with FPGAs
  3. ECE 595: UCMB Advanced VLSI Design
  4. CSE567 Washington Digital Systems Design
  5. Xilinx Vitis Workshop
  6. PYNQ Workshop
  7. Beyond Circuits: Thoughts on logic design that goes beyond circuits.
  8. Digilent Tutorials for a lot of boards!
  9. Harald's Embedded Electronics
  10. Hacker.io
    • A forum for embedded geeks!
  11. Vitis HLS design Flow
  12. 21 days of RTL
    • A great course to get you going in RTL related stuff
  13. Ramon Heras HLS blog

Verification and Testing

  1. Automated Verification

Characterizing and Benchmarking

  1. EE382: UT Austin Characterizing and Benchmarking

Hardware Security

  1. ECE 525: UCMB Hardware-Oriented Security and Trust

Operating Systems

  1. 6.828 MIT Operating Systems Engineering
    • Do check out other years of this course.
  2. CS140: Stanford Operating Systems
  3. CS240: Stanford Advanced Topics in Operating Systems
  4. 15-410 CMU Operating System Design and Implementation
  5. 15-412 CMU Operating Systems Practicum
  6. 15-712 CMU Advanced and Distributed Operating Systems
  7. CS-162 UCB Operating Systems and System Programming
    • David Culler(FA19) version has very good material too.
  8. CS3500 IIT Madras Operating Systems
    • 2015 version of the course has extra topics.
  9. Many But Finite
    • An awesome blog which give great details on some Systems topics
  10. Systems Programming
  11. Operating Systems Course Notes
  12. CS194-24 UCB Advanced Operating Systems Structures and Implementation
  13. intermezzOS
    • Learning operating systems by building a hobby OS, its really fun! #RUST
  14. Dead Lock Empire
    • A fun Deadlock and synchronization game
  15. HVM
    • A high order virtual machine project that does things in an instant!! literally :P

Kernel Dev and Device Drivers

  1. Linux Kernel Development Setup
    • A COMPLETE(I think!) Guide to linux Kernel Development A-Z
  2. FSU COP5641 Linux Kernel & Device Driver Programming
  3. EEE G547 BITS Pilani Device Drivers
  4. Embetronics
    • A tutorial set for linux device drivers
  5. CS440 University of Otago Advanced Operating Systems
    • Seemed to be more on the device drivers side hence the placement here...!
  6. Linux Systems Topics

Computer Systems and Distributed Systems

  1. 15-440 CMU Distributed Systems
  2. CS262B UCB Advanced Topics in Computer Systems
  3. CS262A UCB Advanced Topics in Computer Systems

Compilers

  1. CS 421/521: Yale Compilers and Interpreters
  2. CS 411 CMU Compiler Design
  3. CS3300 IIT Madras Compiler Design
  4. CS6013 Moder Compilers Theory and Practice
  5. CS 15-745 CMU Optimizing Compilers for Modern Architectures

High Performance Computing

  1. CS15-418 CMU Parallel Computer Architecture and Programming
  2. CS267 UCB Applications of Parallel Computers
  3. 263-2800-00L EthZ Design of Parallel and High-Performance Computing
  4. COMS 4130 Columia University Principles and Practice of Parallel Programming
  5. GeorgiaTech HPC Course
  6. CSi-493.65 Hunter College Parallel Computing
  7. Texas Parallel Programming in OpenMP and MPI
  8. MPI Tutorials
  9. CUDA Workshop
  10. CS 6868 IIT Madras Concurrent Programming
  11. CS 6023 IIT Madras GPU Programming -Dr.Rupesh Nasre Version
  12. CS 179 CalTech GPU Programming
  13. UNIFI GPU Programming Course
  14. Existing University Courses on CUDA
  15. 6.189 MIT Multicore Programming Primer
  16. Udacity - Intro to Parallel Programming (CUDA) by Nvidia

Quantum Computing and Quantum Space

  1. 15-859BB CMU Quantum Computation and Quantum Information -Another Version
  2. CS 269Q Stanford Quantum Computer Programming
  3. 219 CalTech Quantum Computation
  4. CS294-66 UCB Quantum Computation
  5. Mathematical Fundamentals of Quantum Mechanics
  6. UCR QC
  7. 2.111 MIT Quantum Computation -Another Version -Peter Shor Version
  8. ETHZ Quantum Systems for Information Technology
  9. QC University of Cambridge
  10. CMSC/PHYS 457 UMD Introduction to Quantum Computing -Mini-Library on Quantum Information and Computation
  11. IIT KGP QC seminar
  12. Quantum Computing Hands on using Qiskit and IBM QC
  13. IBM lecture notes

Systems Engineering for AI ML DL

  1. CS6886 IIT Madras Systems Engineering for Deep Learning
  2. UCB AI Sys
  3. Machine Learning Systems
  4. CS217 Stanford Hardware Accelerators for Machine Learning

Blogs Websites Forums

  1. Hardware Times
  2. Anand Tech
  3. Nvidia Developer Blog
  4. AMD Developer
  5. Wiki Chip
  6. OLCF Training Archive
  7. IBM Developer
  8. Qualcomm Developer Tutorials

Networks, Security and Cryptography

Networks

  1. 15-441/641 CMU Computer Networks
  2. CS 144 Stanford
  3. CS244 CMU Advanced Topics in Networking
  4. CSEE 4119 Columbia An Introduction to Computer Networks
  5. CS4995-03 Columbia Internet Systems Programming
  6. COMS 6181 Columbia Advanced Internet Services
  7. COS 461 Princeton Computer Networks
  8. COS-561 Princeton Advanced Computer Networks
  9. COS-597E Princeton Software Defined Networking
  10. High Performance Browser Networking

Security

  1. CS6570 IIT Madras Secure Systems Engineering
  2. CS6500 IIT Madras Network Security
  3. 18731 CMU Network Security
  4. COMS E6183 Columbia Advanced Topics in Network Security
  5. 15/18-330 CMU Introduction to Computer Security
  6. COMS W4181 Columbia Security 1
  7. COMS W4187 Columbia Security Architecture & Engineering
  8. COMS W4995 Columbia Secure Software Development: Theory and Practice
  9. COMS E6184 Columbia Anonymity and Privacy

Cryptography

  1. CS6530 IIT Madras Applied Cryptography

Computer Graphics and Design

Computer Graphics

  1. Webgl-Month
  2. Webgl Fundamentals
  3. Graphics CMU
    • Complete Graphics Course set CMU
  4. CS348K Stanford Visual Computing Systems
    • a nice fusion of Graphics and Vision
  5. CS248 Stanford INTERACTIVE COMPUTER GRAPHICS
  6. Comprehensive Paper Collection/Resources

AI and ML

  1. Data Playground summerisation

Machine Learning

1.CS229 Stanford Machine Learning - Cheat Sheet by Andrew

ML Application courses

  1. CS325B Stanford Data for Sustainable Development
  2. CS325 Stanford Topics in Computational Sustainability

Deep Learning

  1. CS230 Stanford Deep Learning
  2. MIT Deep Learning
  3. 11-785 CMU Introduction to Deep Learning
  4. CS236781 Technion Deep Learning
  5. CSC 421/2516 Toronto Neural Networks and Deep Learning
  6. CS236 Stanford Deep Generative Models

Data Science and Analytics

Big Data

  1. CS102 Stanford Big Data Tools and Techiniques

Data Mining

  1. 95-791 CMU Data Mining
  2. VBM684 Hacettepe University Data Mining
  3. CS246 Stanford Mining Massive Data Sets
  4. CS412 Illinois An Introduction to Data Warehousing and Data Mining
  5. CS512 Illinois Principles and Algorithms"
  6. STA 325 Duke Data Mining and Machine Learning
  7. Statistical Inference in DataSciene
    • Uses R and Tidyverse

Computer Vision and Image Processing

Computer Vision

  1. CS131 Stanford Computer Vision: Foundations and Applications
  2. CS231B Stanford The Cutting Edge of Computer Vision
  3. CS 331: Advanced Reading in Computer Vision
  4. Vision Stanford
    • Contains all the course links wrt vision by stanford including some of the above ones(may be old links here!)
  5. CS4495-OMS GeorgiaTech Computer Vision
  6. Computer Vision IIT Madras

CS In Applied Sciences

  1. CS205 Harvard Computing Foundations of Comuptational Science

Theoretical Computer Science Courses

Algorithms and Data Structures

  1. MIT Introduction to Algorithms
  2. CS15-210 CMU Parallel and Sequential Data Structures and Algorithms
  3. Problem Solving Via Object-Oriented Programming
    • although seems to be OOPs course has good content wrt Algorithms and Data Structures
  4. CS261 Stanford A Second Course in Algorithms
  5. UChicago Algorithms

Combinatorics

  1. MIT 18.211 Combinatorial Analysis
  2. CS103 Mathematical Foundations of Computing

Graph Theory

  1. CMU Graph Theory
  2. COMS 4203 Columbia Graph Theory
  3. MIT 18.217 Graph Theory and Additive Combinatorics
  4. CS267 Stanford Graph Algorithms
  5. MIT 6.890 Algorithms for Graphs and Matrices

Programming

General

  1. CS 97SI: Introduction to Programming Contests
  2. 6.370 MIT The Battle Code Programming Competition
    • Learn Programming by making an AI game!!
  3. 6.S095 MIT Programming for the Puzzled
  4. CMU CS Academy: CS 0
  5. 15-295 CMU Competition Programming and Problem Solving
  6. CMU 15-112: Fundamentals of Programming and Computer Science
  7. CS106A Stanford Programming Methodology
  8. ETH-Zurich Concepts of Object-Oriented Programming
  9. ETH-Zurich Program Verification
    • A good course on software verification
  10. Awesome Competitive Programming
    • A 11 year experience of Competitive Programming.
  11. Learn X in Y minutes
    • awesome all in one intro to different languages.
  12. Exercism
  13. ETHZ How to Write Fast Numerical Code
  14. 15-123 CMU Effective Programming in C and Unix

Functional Languages and HDLs

  1. 6.827 Multithreaded Parallelism: Languages and Compilers Fall-2006
  2. VLSI System Design
    • A great course on Verilog, you can always use google translate for the contents page!
  3. FPGA Student
    • A good place for HDL Projects
  4. CS240H Stanford Functional Systems in Haskell

Math

Algebra

  1. Intuitive Math

  2. 18.06 MIT Linear Algebra -18.700 - Linear Algebra -Videos

  3. Abstract Algebra

  4. Representing Mathematics using Computer -Maxima -SAGE

Miscellaneous

  1. CS54N Stanford Great Ideas In Computer Science

    • A nice course revisiting the greats and their ideas in computer science.
  2. Stanford CS Course

    • List of CS courses with respective course websites for each quarter
  3. University of Florence Pisa

    • Smart computing courses
  4. University of Southern California

    • Its full archive of many courses(mostly before 2010)
  5. CS61 UCB Great Ideas In Computer Architecture

    • A nice course about computer architecture milestones.
  6. Some UCLA Course Notes

  7. The Missing Semester of Your CS Education

    • An excellent short course on what every cs student should know!
  8. Latex sources

    1. CMU ML Book
    2. Duke ML
    3. Washington
    4. Stanford Stats
    5. Poly
  9. GRE Blogs/Youtube Channels

    1. 20 days preparation plan
  10. Internship Information Links and other stuff

    1. Research Internships for Undergrads
    2. Summer Research Internships
  11. Random Blogs

    1. UI Blog
  12. Stack Overflow Answers that might be useful

    1. Setting up SSH keys and Accounts for more than 1 git account on one computer

Contributors

  1. Nitesh
  2. Sinduja
  3. Sahithi Nandyala
  4. Pratyush

About

This repo has some usefull links to websites for topics, please fork add and generate a pull-request to join the party