Lessons - 1500
8/19 1 Orientation
Lesson
Most Important Concepts
Assignments
Getting Started Quiz
Ethics Quiz
Introduction Discussion
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
Team 1 formation
Breakout rooms / small group discussion: introductions and discuss problems / ideas for integration project
Resources - sign in and save to OneDrive
SWEBOK
Python textbook
Foxit
Success topic: Time management
Register for Modern States Information Systems course (free)
Modern States Module 3: Software Development (3.0-3.6)
Other assignments
Time Management
Team 1 Comm
8/31 4 Python
Activity / POGIL
POGIL 01
Lesson
Review Time Management
Get IDLE
How to do exercises
How to submit exercises
Introduction to project
Programming exercises
1
Other assignments / work on project
Think about a project
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
POGIL 2 (45 minutes)
Lesson
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
Variables, Data Types, Expressions, Assignments, Operators cont.
Most important concepts
Review POGIL
Vocabulary: assignment, string literal
usefulness of %
state diagram practice with #7
IDLE
make a shortcut
error messages
limitations
Modern States Module 3: Software Development (3.7-3.14)
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.
Lesson
Add integration project tasks to Outlook by copying and pasting
Reminder about appropriate assistance.
Reminder about coding standards
space before and after operators
snake_case
Programming exercises
3
Other assignments / work on project - importance of comments
9/16 8 Programming Language Basics
SWEBOK section (CS/SE Questions in Canvas)
4 Programming Language Basics
Activity / POGIL
POGIL 5 (40 minutes)
Lesson
Truth tables
POGIL 5
conditional / relational operators
logical operators
How to submit integration project
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
Review
conditional / relational operators
logical operators
Truth tables
Teams Tip: Format - Code Snippet
Activity / POGIL
POGIL 6 (42 minutes)
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
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)
shortcut operators
Programming exercises
5
Club (5-10 minutes)
9/30 12 Loops - for
Activity / POGIL
POGIL 9 for
Lesson
POGIL 9 for (35 minutes)
Programming Jokes of the week
Why was the programmer stuck in the shower?
A wife calls her programmer husband and tells him "while you're out, buy some milk". He never returns home.
Review Boolean / conditions / logic
Visualization of looping in Raptor
Introduction to lists / arrays
Club
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
Country, animal, color
Finding the min
Finding the sum
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
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
Review Algorithms: max and avg
Code your algorithms
Simulate program as dialogue with paper
Guest speaker
Function Vocabulary
Call: use / invoke function
Arguments: The information sent to a function. In the parentheses in the call.
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
Activity / POGIL
POGIL 12 void Functions (45 min)
Lesson
Functions - definition
first line of the function definition is called the header; the rest is called the body.
flow of execution
Programming exercises
8
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
Code auto formatting, line length
Code | Inspect Code
Computer Organization (8 Basic Concept of a System)
Computer Systems
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
Lab Super Simple CPU
Pep8 (extra credit)
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
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.
Other assignments
11/16 24 Databases
SWEBOK section (CS/SE Questions in Canvas)
12 Database Basics
Activity / POGIL
Lab Databases
Lesson
Other assignments
Modern States Module 5: Technology Applications
11/18 25 Networking
SWEBOK section (CS/SE Questions in Canvas)
13 Networking Basics
Activity / POGIL
Quiz Networking
Lesson
Other assignments
Modern States Module 4: The Internet and World Wide Web
11/23 26 AI, AR, VR, Parallel and Distributed Computing
SWEBOK section (CS/SE Questions in Canvas)
14 Parallel and Distributed Computing
Activity / POGIL
Lab AI
Lesson
Networking (14)
Parallel and Distributed Computing
AI
AR, VR
Other assignments
Team 3
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
User Human Factors (15)
Improving Integration Project User Interface
Advanced technique: use a function to validate user input as number
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
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
Activity / POGIL
Lesson
CLEP reminder
You get credit for CGS 1100 if you pass the CLEP. https://www.fgcu.edu/testing/acceleration_programs/fgcu_clep_policy#Business
You get a voucher to take the CLEP for free if you finish the Modern States course. https://modernstates.org/clep-voucher-request/
SDLC & Security (17)
Other assignments
Modern States Module 7: Social and Ethical Implications and Issues
12/9 30 Deployment and Ethics
Lesson
Deployment (running your program outside of the IDE)
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