Lessons - 1500

8/19 1 Orientation

8/24 2 Concepts

  • Lesson

    • Review of earlier assignments

      • Introduction discussion - Specifications, Grading forms / rubrics

      • Ethics Quiz - Print to PDF, Snipping Tool

    • Upcoming assignments

      • Academic Support Quiz

      • Grit and Growth Mindset

    • Class communication - use Teams

    • Concepts & Diagrams

      • RAPTOR

      • Robozzle

    • Success topic: Academic reading, SQ3R

8/26 3 Problem Solving

  • SWEBOK section (CS/SE Questions in Canvas)

    • 1 Problem Solving Techniques

  • Python book (chapter questions in Canvas)

    • 1 The way of the program

  • Lesson

  • Other assignments

    • Time Management

    • Team 1 Comm

8/31 4 Python

9/2 5 Abstraction and Variables

  • SWEBOK section (CS/SE Questions in Canvas)

    • 2 Abstraction

  • Python book (chapter questions in Canvas)

    • 2 Variables, expressions and statements

  • Activity / POGIL

  • Lesson

    • Abstraction

    • Variables, Data Types, Expressions, Assignments, Operators intro

      • State diagram intro

      • Most important concepts

    • Review POGIL

      • Vocabulary: function, prompt, variable, concatenation, keywords

      • Variable naming rules, conventions, best practices. Use snake_case. Be descriptive.

    • Input for exercises

      • Sometimes no prompts are necessary. You can just get a number with something like num1 = int(input())

      • Do not fixate on sample input and output. Programs need to work with different inputs.

      • Read instructions thoroughly.

  • Other assignments / work on project

    • Team 1 Collab

9/9 6 Operators

  • Activity / POGIL

    • POGIL 3 (35 minutes)

  • Lesson

  • Programming exercises

    • 2

  • Other assignments / work on project

9/14 7 Programming Fundamentals

  • SWEBOK section (CS/SE Questions in Canvas)

    • 3 Programming Fundamentals

  • Activity / POGIL

    • POGIL 4 (38 minutes)

      • There are two typos: 1e should have a period instead of a comma and 1f should not have a %

      • For the number before the decimal point, experiment with more numbers than the ones in the worksheet and actually count positions.

      • Python Numbers

  • Lesson

  • Programming exercises

    • 3

  • Other assignments / work on project - importance of comments

9/16 8 Programming Language Basics

9/21 9 Conditional Operators

  • SWEBOK section (CS/SE Questions in Canvas)

    • 5 Debugging Tools and Techniques

  • Python book (chapter questions in Canvas)

    • Chapter 5 Conditionals

  • Lesson

  • Programming exercises

    • 4

  • Other assignments / work on project

    • Sprint 2 is a continuation

9/23 10 Control Structures

  • SWEBOK section (CS/SE Questions in Canvas)

    • 6 Data Structure and Representation

  • Activity / POGIL

    • POGIL 7 (35 minutes)

  • Lesson

    • Conditions

    • Reminder about time management

    • Reminder about Canvas app

    • IDE tips

      • Comment out region

      • Indent region

    • trailing else

    • Counting comparison using elif

    • Low Level vs High Level

    • Problem solving methodology - make sure you understand the problem statement, make sure you understand the provided code

9/28 11 Loops - while

  • Python book (chapter questions in Canvas)

    • Chapter 7 Iteration

  • Activity / POGIL

    • POGIL 8 while

  • Lesson

    • New seats / groups

      • Face to Face - set up OneDrive and IDLE

    • Team 2 comm (10 minutes)

      • Create chat group

      • Scheduling Assistant

    • New team ice breaker Commonalities (5-10 minutes)

    • Motivational speech (2 minutes)

    • POGIL 8 while (50 minutes)

    • Iterative control structures (Loops)

    • shortcut operators

  • Programming exercises

    • 5

  • Club (5-10 minutes)

9/30 12 Loops - for

10/5 13 Algorithms

  • SWEBOK section (CS/SE Questions in Canvas)

    • 7 Algorithms and Complexity

  • Python book

    • Appendix B Analysis of Algorithms (optional)

  • Activity / POGIL

    • Problem Solving Activity

  • Lesson

    • Advisor

    • Algorithm - Unambiguous instructions for solving a problem in a finite amount of time using a finite amount of data

      • An algorithm must be written before any coding in a programming language can be done

    • Algorithms, Data Structures, Complexity (6)

      • Searching and Sorting

      • Informal comparison of algorithm efficiency (operation counts)

  • Programming exercises

    • 6

10/7 14 Data Structures

  • SWEBOK section (CS/SE Questions in Canvas)

    • 6 Data Structure and Representation

  • Python book (chapter questions in Canvas)

    • Chapter 10 Lists

  • Activity / POGIL

    • Problem Solving Activity cont.

  • Lesson

    • Plus Delta review (Canvas Home page)

    • Algorithms review / conclusion

    • Problem-solving strategies

      • Iterative and recursive mathematical functions

      • Iterative and recursive traversal of data structures

      • Divide-and-conquer strategies

    • Iterative control structures (Loops)

    • Algorithms, Data Structures, Complexity

    • Abstract data type (ADT) - a container whose properties (data and operations) are specified independently of any particular implementation

    • Use descriptive variable names!

    • range function to create a list

      • Function Vocabulary

        • Function - a name for some lines of code

10/12 15 Nested Loops and Women in STEM

  • Activity / POGIL

    • POGIL 10 nested loops (30 min)

  • Lesson

10/14 16 Built-in Functions

  • Python book (chapter questions in Canvas)

    • Chapter 3 Functions

  • Activity / POGIL

    • POGIL 11 Predefined-Builtin Functions (30 min)

  • Lesson

    • Functions and parameter passing

      • Function Vocabulary

        • Header: The top line of a function.

        • Parameters: The information received by a function. In the parentheses in the header.

        • Return value: The product of the function.

  • PyCharm install and configuration (Apps Anywhere in classroom)

  • Programming exercises

    • 7

10/19 17 Void Functions

10/21 18 Value Returning functions

  • Python book (chapter questions in Canvas)

    • Chapter 6 Fruitful functions

  • Activity / POGIL

    • POGIL 13 Value Returning Functions (25 min)

  • Lesson

  • Other assignments / work on project

    • Integration Project

      • Put whole program in a main function

      • Add additional functions without parameters

      • GitHub concepts

  • Textbook

10/26 19 File I/O and Basic Concept of a Computer System

  • Python book (chapter questions in Canvas)

    • Chapter 14 Files

  • Activity / POGIL

    • POGIL 14

    • POGIL 15

  • Lesson

  • Programming exercises

    • 9

  • Other assignments / work on project

10/28 20 Computer Organization: Hardware, Digital Logic, Data Expression

  • SWEBOK section (CS/SE Questions in Canvas)

    • 9 Computer Organization

  • Activity / POGIL

    • Lab Hardware, Logic, and Number Systems

  • Lesson

    • New groups/seats based on major / interest (OneDrive, PyCharm) mini-ice breaker (hobby, why that major)

    • Computer Organization (9 Computer Organization)

      • Gates and Circuits, Logic

      • Number systems

    • Get Super Simple CPU running

  • Other assignments

    • Modern States Module 2: Hardware and Systems Technology

11/2 21 Systems - Computer Systems (von Neumann model) and Information Systems

  • SWEBOK section (CS/SE Questions in Canvas)

    • 8 Basic Concepts of a System

      • Figure 13.3

  • Activity / POGIL

  • Lesson

    • Computer Organization (10 Compiler Basics)

    • Assembly Language introduction

    • Super Simple CPU

    • Windows / MacOS Calculator - Programmer Mode

    • Pep8 intro

    • Try to install Ubuntu using information from the Operating Systems page before next class

  • Other assignments

    • Modern States Module 1: What are Information Systems?

  • Programming exercises

    • 10

11/4 22 Operating Systems

  • SWEBOK section (CS/SE Questions in Canvas)

    • 11 Operating System Basics

  • Activity / POGIL

    • Lab OS

  • Lesson

    • Exercises review

    • Operating Systems (11)

      • Virtualization overview and VMWare demo

      • vLabs walkthrough

      • Linux - Bandit

11/9 23 Technology Applications & Careers

  • SWEBOK section (CS/SE Questions in Canvas)

    • 12 Database Basics

  • Activity / POGIL

    • Lab Spreadsheets

  • Lesson

    • Careers

      • Course registration - LA and students engage in discussion not related to the course but related to other courses or aspects of school within the university.

    • Spreadsheets

    • Finances

  • Other assignments

11/16 24 Databases

  • SWEBOK section (CS/SE Questions in Canvas)

    • 12 Database Basics

  • Activity / POGIL

    • Lab Databases

  • Lesson

  • Other assignments

11/18 25 Networking

11/23 26 AI, AR, VR, Parallel and Distributed Computing

11/30 27 HCI / User Human Factors

  • SWEBOK section (CS/SE Questions in Canvas)

    • 15 Basic User Human Factors

  • Activity / POGIL

    • Work on project

  • Lesson

  • Other assignments

    • Work on project

12/2 28 Quality / Developer Human Factors

  • SWEBOK section (CS/SE Questions in Canvas)

    • 16 Basic Developer Human Factors

  • Python book (chapter questions in Canvas)

    • Appendix A Debugging

  • Activity / POGIL

    • Work on project

  • Lesson

    • Developer Human Factors (16)

    • Integration Project Style and Documentation

    • Structure / Style

    • Comments / Documentation

      • The types of comments include repeat of the code, explanation of the code, marker of the code, summary of the code, description of the code’s intent, and information that cannot possibly be expressed by the code itself.

  • Other assignments

    • Work on project

12/7 29 SDLC and Security

  • SWEBOK section (CS/SE Questions in Canvas)

    • 17 Secure Software Development and Maintenance

12/9 30 Deployment and Ethics

  • Lesson

    • Deployment (running your program outside of the IDE)

    • Ethics

    • Wrap Up

      • Cool stuff you can do with Python

      • Preparing for COP 2006

      • Closing comments

      • Review of course learning outcomes and final exam preparation

  • End of semester awards / praise

  • Other assignments

    • Portfolio Update