Concurrency

Concurrency (computer science)

Concurrency in computer science refers to the ability of different parts of a program to be executed out-of-order or in partial order without affecting the outcome. This allows for parallel execution, improving speed in multi-processor systems. Concurrency is about structuring a solution to deal with multiple tasks at once, while parallelism is about executing multiple tasks simultaneously. Various mathematical models have been developed to study concurrent computation.

9 courses cover this concept

CS 186 Introduction to Database Systems

UC Berkeley

Spring 2023

This project-heavy course covers access methods, data models, query languages, database services, and interfaces. It introduces transaction processing and requires CS 61A, CS 61B, and CS 61C as prerequisites/corequisites. It suggests proficiency in Java for project work.

No concepts data

+ 23 more concepts

15-323 / 15-623 Computer Music Systems and Information Processing

Carnegie Mellon University

Spring 2019

This course explores discrete music information representation and manipulation. It introduces timed event sequences, MIDI protocol, and non-real-time processing techniques like Markov models and algorithmic composition. Prior knowledge of course 15-122 is required.

No concepts data

+ 26 more concepts

CS 10: The Beauty and Joy of Computing

UC Berkeley

Summer 2022

A gentle, thorough introduction to computer science, starting with block-based language Snap! and transitioning to Python. The course covers fundamental programming concepts and encourages application in various fields. Level: Beginner friendly.

No concepts data

+ 21 more concepts

CS 262a Advanced Topics in Computer Systems

UC Berkeley

Fall 2021

A graduate survey of systems managing computation and information. Topics include volatile and persistent memory management, system support for networking, security infrastructure, extensible systems, APIs, and large software system performance analysis. Students are expected to engage in quality systems research, culminating in a publishable group project.

No concepts data

+ 31 more concepts

CS 111 Operating Systems Principles

Stanford University

Autumn 2022

An introductory course to operating systems, CS 111 builds upon programming experience to explore how operating systems function. The course provides an understanding of OS design challenges, such as filesystems, system calls, concurrency, virtual memory, demand paging, and others. Knowledge in C/C++ and Unix/Linux environment is prerequisite.

No concepts data

+ 20 more concepts

CS 245 Principles of Data-Intensive Systems

Stanford University

Winter 2022

This course delves into the architecture of modern data storage and processing systems, including databases, cluster computing, and machine learning systems. It covers database architecture, query optimization, transaction management, and parallel processing. CS 145 and CS 161, or equivalent, are expected as prerequisites.

No concepts data

+ 13 more concepts

CS 112, CS212: Operating Systems

Stanford University

Winter 2023

This course introduces students to operating system concepts, with a primary focus on Unix, and covers key systems concepts in general. It prepares students to deal with larger software systems with programming assignments that are bigger than in many other courses. Topics covered include threads & processes, concurrency & synchronization, scheduling, virtual memory, I/O, disks, file systems, protection & security, and virtual machines.

No concepts data

+ 16 more concepts

CS 162: Operating Systems and Systems Programming

UC Berkeley

Fall 2022

This course introduces operating systems design and related concepts. It covers topics like memory allocation, file systems, basic networking, transactions, and security. The course requires foundational knowledge in data structures, assembly language, C programming, and debugging. It aims to improve students' skills in debugging large programs and computational problem solving.

No concepts data

+ 49 more concepts

15-440 Distributed Systems

Carnegie Mellon University

Fall 2020

A course offering both theoretical understanding and practical experience in distributed systems. Key themes include concurrency, scheduling, network communication, and security. Real-world protocols and paradigms like distributed filesystems, RPC, MapReduce are studied. Course utilizes C and Go programming languages.

No concepts data

+ 34 more concepts