Introduction to Computer Science - CS 101

Covers algorithms, programming fundamentals, computational thinking, data representation, and problem solving.

Study Tools

All

Study guides

8

5 Functions and Program Structure

Learn how Python functions organize programs, manage data flow, support reuse, and enable systematic testing and maintenance.
Study guide · Updated

3 Programming Fundamentals

A progressive guide to Python programming fundamentals, covering code structure, values, expressions, execution, input and output, documentation, and debugging.
Study guide · Updated

7 Data Structures for Problem Solving

Learn how strings, lists, records, tables, and related collections organize information, support algorithms, and guide efficient and safe data operations.
Study guide · Updated

8 Testing, Debugging, and Algorithmic Efficiency

A practical guide to designing effective tests, debugging failures, reasoning about correctness, analyzing algorithmic efficiency, and maintaining reliable programs.
Study guide · Updated

6 Data Representation

A structured guide to how computers encode, store, transmit, and interpret numbers, logical values, characters, and text as patterns of bits.
Study guide · Updated

4 Control Flow and Logic

A progressive guide to Python control flow, explaining sequence, conditionals, Boolean logic, loops, nesting, tracing, and reliable debugging practices.
Study guide · Updated

2 Algorithms and Solution Design

A practical guide to analyzing problems, designing algorithms, representing solutions with pseudocode and flowcharts, and testing solutions for correctness and efficiency.
Study guide · Updated

1 Computational Thinking and Problem Solving

A structured guide to computational thinking, algorithm design, programming, testing, and refinement, with examples showing how complex problems become precise computational solutions.
Study guide · Updated

Quizzes

8

6 Data Representation

A medium-difficulty quiz on binary representation, numeric encodings, Boolean values, character encodings, UTF-8, data types, and the contextual interpretation of stored bits. The final two candidates are alternate higher-difficulty questions.
Quiz · Updated

7 Data Structures for Problem Solving

A 14-question quiz on selecting, representing, accessing, and modifying data structures, with emphasis on applying structures to programming problems.
Quiz · Updated

8 Testing, Debugging, and Algorithmic Efficiency

A medium-difficulty quiz on testing, debugging, correctness reasoning, algorithmic efficiency, documentation, and problem-solving workflow. Questions require applying the principles to practical programming situations.
Quiz · Updated

4 Control Flow and Logic

A 14-question quiz on Python control flow and logic, covering sequence, selection, Boolean expressions, iteration, nesting, short-circuit evaluation, and tracing. Questions progress from foundational understanding to applied reasoning.
Quiz · Updated

3 Programming Fundamentals

A medium-difficulty quiz on Python programming fundamentals, covering syntax and semantics, assignment, data types, constants, expressions, statements, comments, execution, errors, and program design.
Quiz · Updated

1 Computational Thinking and Problem Solving

A medium-difficulty quiz on computational thinking and problem solving, covering abstraction, decomposition, pattern recognition, algorithmic thinking, representation, programming, debugging, testing, and refinement.
Quiz · Updated

5 Functions and Program Structure

A medium-difficulty quiz on Python functions, program structure, modular design, code reuse, decomposition, scope, and testing. Questions progress from foundational application to integrated design and testing decisions.
Quiz · Updated

2 Algorithms and Solution Design

A medium-difficulty quiz on analyzing problems, designing algorithms, writing pseudocode, representing control flow, and testing solutions. Questions progress from foundational recognition to applied reasoning.
Quiz · Updated

Flashcards

8

7 Data Structures for Problem Solving

A concise review of strings, lists, records, tables, nested collections, SQL operations, structure selection, and defensive data-handling practices.
Flashcards · Updated

6 Data Representation

A focused review of how computers represent, store, encode, and interpret binary data, numbers, Boolean values, characters, and text.
Flashcards · Updated

5 Functions and Program Structure

A focused set of flashcards on Python functions, program structure, modular design, code reuse, scope, decomposition, and testing practices.
Flashcards · Updated

8 Testing, Debugging, and Algorithmic Efficiency

A focused set of flashcards covering test design, systematic debugging, correctness reasoning, algorithmic efficiency, documentation, and reliable programming workflows.
Flashcards · Updated

3 Programming Fundamentals

Learn core Python programming concepts, including syntax, values, expressions, statements, input and output, documentation, execution, and error types.
Flashcards · Updated

2 Algorithms and Solution Design

A focused review of algorithmic problem solving, including problem analysis, constraints, pseudocode, flowcharts, control structures, and systematic testing.
Flashcards · Updated

4 Control Flow and Logic

Learn how Python control flow uses sequence, selection, Boolean logic, iteration, nesting, tracing, and deliberate loop design to respond to data.
Flashcards · Updated

1 Computational Thinking and Problem Solving

A focused set of flashcards covering computational thinking, problem representation, algorithm design, programming, testing, and debugging.
Flashcards · Updated