CS-108-A (Introduction to Computing) at Calvin University
  1. Units
  2. 12. Testing and exception handling
  3. Concepts
  4. 12.1 Raising exceptions
  • Syllabus
  • Lab Instructions
  • Success Tips and Resources
  • Feedback on some questions
  • Class demonstrations
  • Multi-Aspectual Analysis of Software Applications
  • Final Project
  • Final Project Showcasing
  • Classes
    • Week 01
      • 01-17-24 (Wednesday)
      • 01-18-24 (Thursday - Lab)
      • 01-19-24 (Friday)
    • Week 02
      • 01-22-24 (Monday)
      • 01-24-24 (Wednesday)
      • 01-26-24 (Friday)
    • Week 03
      • 01-29-24 (Monday)
      • 01-31-24 (Wednesday)
      • 02-02-24 (Friday)
    • Week 04
      • 01-05-24 (Monday)
      • 01-07-24 (Wednesday)
      • 01-09-24 (Friday)
    • Week 05
      • 02-12-24 (Monday)
      • 02-14-24 (Wednesday)
      • 02-16-24 (Friday)
    • Week 06
      • 02-19-24 (Monday)
      • 02-21-24 (Wednesday)
      • 02-23-24 (Friday)
    • Week 07
      • 02-26-24 (Monday)
      • 02-28-24 (Wednesday)
      • 03-01-24 (Friday)
    • Week 08
      • 03-11-24 (Monday)
      • 03-13-24 (Wednesday)
      • 03-15-24 (Friday)
    • Week 09
      • 03-18-24 (Monday)
      • 03-22-24 (Friday)
    • Week 10
      • 03-25-24 (Monday)
      • 03-27-24 (Wednesday)
    • Week 11
      • 04-03-24 (Wednesday)
      • 02-19-24 (Friday)
    • Week 12
      • 04-08-24 (Monday)
      • 04-10-24 (Wednesday)
      • 04-12-24 (Friday)
    • Week 13
      • 04-15-24 (Monday)
      • 04-17-24 (Wednesday)
      • 04-19-24 (Friday)
    • Week 14
      • 02-19-24 (Monday)
      • 04-24-24 (Wednesday)
      • 04-26-24 (Friday)
  • Units
    • 1. Introduction
      • Concepts
        • 1.1 Program
        • 1.2 Computation
        • 1.3 Code
        • 1.4 Objects and Variables
        • 1.5 Assignments
        • 1.6 Input/Output
        • 1.7 Running Python
      • Activities
        • Presentations
        • Pictionary Example
    • 2. Expressions
      • Concepts
        • 2.1 Operators
        • 2.2 Overflow
        • 2.3 Constants
        • 2.4 Math module
        • 2.5 Random numbers
        • 2.6 Comments
        • 2.7 Programming style
      • Activities
        • Computers are stupid?
        • Hospitable-code
    • 3. Data types
      • Concepts
        • 3.1 Built-in Types
        • 3.2 Object Methods
        • 3.3 Tuples
        • 3.4 Strings
        • 3.5 Lists
        • 3.6 Dictionaries
      • Activities
        • Encoding Information
        • The world of 0’s and 1’s
    • 4. Branching
      • Concepts
        • 4.1 If statement
        • 4.2 If-else
        • 4.3 Multi-way selection
        • 4.4 Nested ifs
        • 4.5 Comparison Operators
        • 4.6 Boolean Operators
        • 4.7 Membership Operators
        • 4.8 Discrimination
        • 4.7 Algorithmic Intelligence
      • Activities
        • Exercises 1
        • Exercises 2
    • 5. Repetition
      • Concepts
        • 5.1 Repetition Statements
        • 5.2 While Loops
        • 5.3 Break and continue
        • 5.4 Nested loops
        • 5.5 For loops
        • 5.6 Ranges
        • 5.7 List Comprehensions
        • 5.8 The Halting Problem
        • 5.9 List Comprehensions
      • Activities
        • Tile Drawing
        • Accumulators
        • Flags
    • 6. Functions
      • Concepts
        • 6.1 Abstraction
        • 6.2 Functions
        • 6.3 Parameters
        • 6.4 Return
        • 6.5 Variable scope
        • 6.6 Docstrings
        • 6.7 Functions as mediators
      • Activities
        • Common errors
    • 7. Classes
      • Concepts
        • 7.1 Object-Oriented Programming
        • 7.2 The constructor method
        • 7.3 The self argument
        • 7.4 Class methods and variables
        • 7.5 The str method
        • 7.6 Operator overloading
        • 7.7 Inheritance
        • 7.8 The Internet of Things
        • 7.9 Network power
      • Activities
        • Card game
        • Shapes and areas
    • 8. Techniques and patterns
      • Concepts
        • 8.1 Dictionaries
        • 8.2 Sets
        • 8.3 Event Handling
        • 8.4 Lists
        • 8.5 Open Software
    • 9. Modules
      • Concepts
        • 9.1 Concurrent Version Control Systems
    • 10. Graphical User Interfaces
      • Concepts
        • 10.1 GUIs
        • 10.2 GUIZero
        • 10.3 UI Elements
        • 10.4 Interaction Design
        • 10.5 Technological Mediation
    • 11. Files and filesystems
      • Concepts
        • 11.1 Operating Systems
        • 11.2 Text Files
        • 11.3 Binary Files
        • 11.4 Serialization
        • 11.5 Context Managers
        • 11.6 Dataframes
        • 11.7 Data journeys
    • 12. Testing and exception handling
      • Concepts
        • 12.1 Raising exceptions
        • 12.2 Catching exceptions
        • 12.3 Incremental Development
        • 12.4 Unit Testing
        • 12.5 Risk and responsibility in software
    • 13. Basics of Scientific Computing
      • Concepts
        • 13.1 Scientific Computing
        • 13.2 NumPy Basics
        • 13.3 SciPy Basics
        • 13.4 Visualizations
        • 13.5 Computer Simulations
        • 13.6 Reproducible Science with Jupyter
11.7 Data journeys
12.2 Catching exceptions