Parallelism and Concurrency | Computer Science Fundamentals - Univ of Washington

University of Washington

Comprehensive introduction to parallelism and concurrency concepts, suitable for students in data structures and other lower-level computer science courses. Freely available materials from University of Washington.

University CoursesJava

Introduction

Technically not a course nevertheless an awesome collection of materials used by Prof Dan Grossman to teach parallelism and concurrency concepts to sophomores at UWash.

screenshot

Highlights

  • Introduces parallelism and concurrency in a lower-level data structures course
  • Uses Java, including Java's ForkJoin Framework, for code examples
  • Includes lecture slides, homework problems, programming project, and sample exam problems
  • Adapted for CS2 courses and introductions in more advanced courses

Recommendation

This course provides a comprehensive introduction to parallelism and concurrency concepts, making it suitable for students in data structures and other lower-level computer science courses. The materials are well-structured and freely available, making it an excellent resource for both instructors and students.

How GetVM Works

Learn by Doing from Your Browser Sidebar

Access from Browser Sidebar

Access from Browser Sidebar

Simply install the browser extension and click to launch GetVM directly from your sidebar.

Select Your Playground

Select Your Playground

Choose your OS, IDE, or app from our playground library and launch it instantly.

Learn and Practice Side-by-Side

Learn and Practice Side-by-Side

Practice within the VM while following tutorials or videos side-by-side. Save your work with Pro for easy continuity.

Explore Similar Hands-on Tutorials

Java Programming (CS 1) | Computer Science Fundamentals

1
University CoursesJavaObject-Oriented Programming
Learn the fundamentals of Java programming, including variables, expressions, control structures, arrays, objects, and file I/O. Suitable for students without prior programming experience.

Data Structures (Into Java)

9
Technical TutorialsAlgorithmData StructuresJava
Comprehensive guide to understanding and implementing data structures using Java, covering arrays, linked lists, stacks, queues, trees, and more.

The Great Tree List Recursion Problem

9
Technical TutorialsAlgorithmCJava
Explore the intricacies of data structures, recursion, and programming with The Great Tree List Recursion Problem, a comprehensive guide to binary trees and circular doubly linked lists.

Compiler Design: Theory, Tools, and Examples, Java Edition

11
Technical TutorialsCompilerJava
Comprehensive guide to compiler design theory and tools, with practical Java examples. Covers lexical analysis, parsing, code generation, and optimization.

Object Oriented Programming

18
Technical TutorialsJavaProgramming
Dive into the fundamentals of Object-Oriented Programming with this comprehensive course, covering key concepts like encapsulation, inheritance, and polymorphism.

A Primer on Design Patterns

3
Technical TutorialsJavaObject-Oriented Programming
Comprehensive guide to understanding and implementing design patterns in software development, covering the most important patterns and demonstrating implementation in Java.

A Practical Introduction to Data Structures and Algorithm Analysis Third Edition (Java Version)

6
Technical TutorialsAlgorithmData StructuresJava
Comprehensive guide to data structures and algorithm analysis using Java. Covers fundamental data structures, sorting, and searching algorithms.

An Introduction to the USA Computing Olympiad, Java Edition

10
Technical TutorialsJava
Comprehensive training resource for the USA Computing Olympiad, covering a wide range of topics from basic to advanced concepts in Java programming.

Effective Java, Third Edition

26
Technical TutorialsJava
Comprehensive guide to Java programming and software development, offering best practices, tips, and solutions for writing high-quality, efficient code.