AI-141-paul.wilmoth-2026-08-20-01-09-11

Title of Course Programming Fundamentals I

Prefix and Number AI 141

Semester and Year [tbd]

Number of Credit Hours 4

Prerequisites MATH 108, 171, 172, 182, 201, 202, 216, or 220, each with a C or better, CPT S 111 with a B+ or better, a min ALEKS math placement score of 78%, or by permission with an AP Exam in Cpt S Principles or Cpt Sci A with a 4 or better.

Course Details

Day and Time: [tbd]

Meeting Location: [tbd]

 

Instructor Contact Information

Instructor Name: [tbd]

Instructor Contact Information: [office location, phone, email] [tbd]

Instructor Office Hours: [click here for best practices] [tbd]

 

TA Name: [tbd]

TA Contact Information: [office location, phone, email]: [tbd]

TA Office Hours: [click here for best practices] [tbd]

 

Course Description

This course introduces computational thinking and foundational programming concepts using Python. Topics include problem decomposition, conditionals, functions, loops, files, classes, encapsulation, and Python data structures. Students design solutions using pseudocode or flowcharts before implementing them and develop essential skills in tracing, debugging, testing, and evaluating code. Generative AI is incorporated as a programming and learning tool. Students use it to explore alternative solutions, obtain targeted explanations, and critique or debug AI-generated code while learning to verify its correctness. Selected assignments require students to document their reasoning before and after using generative AI, helping them distinguish their independent work from AI-supported learning. Assessments are completed without AI assistance to confirm students’ independent mastery of programming fundamentals and computational problem-solving skills.

 

Course Materials 

Books: Programming in Python 3, interactive zyBook subscription, Wiley

Other Materials: None

Fees: None

Student Learning Outcomes (SLOs)

Course Learning Outcomes

(students will be able to:)

Activities Supporting the Learning Outcomes Assessment of the Learning Outcomes
Decompose a problem into logical steps and represent the solution using pseudocode or flowcharts prior to implementation (1a, 1c, 2a, 3e). Homework design exercises; weekly labs practicing problem decomposition Lab checkpoints; programming assignment design documents; exam questions requiring pseudocode or flowcharts; in-class activities 
Write correct programs using variables, expressions, conditionals, and loops (1e, 2g). Homework problem sets; lab coding exercises  Quizzes; programming assignments; exam questions (code tracing/writing) 
Design and use functions to organize code and manage complexity through abstraction (1d, 1e, 2a, 2g).

Homework exercises refactoring code into functions; lab exercises 

Lab checkpoints; programming assignments; exam questions on scope/parameters/return values; in-class activities 
Apply Python’s data structures to organize and manipulate data (1d, 1e, 2g).

Homework problem sets; lab exercises 

Lab checkpoints; quizzes; programming assignments; exam questions 
Trace program execution by hand and interpret error messages to identify and correct bugs (1e, 2e, 7b).

Guided debugging exercises in lab; homework tracing exercises 

Lab checkpoints; programming assignment correctness/debugging rubric; exam tracing questions; in-class activities 
Use generative AI tools to support learning (explanation, alternative approaches, code critique) while independently verifying and evaluating AI-generated output (2e, 7b, 7e, 7f, 7g).

Labs incorporating AI-assisted debugging/critique exercises; homework requiring pre/post-AI reflection; final project; in-class activities 

Programming assignment reflection component; AI-free quizzes/exam questions confirming independent skill; oral/video presentation of final project 
Communicate the logic of a program clearly, in writing and in code (naming, structure, comments) (3a, 3b).

Homework and programming assignments with documentation requirements; lab peer-review exercises 

Lab checkpoints; programming assignment rubric; final project design document evaluation 

Course Schedule

[Please note that a WSU semester is 15 weeks + Thanksgiving/Spring Break. The schedule below does not include the break.]

Dates Lesson Topic Assignment Assessment

Week 1
[dates]

L1-1: Intro to the class

L1-2: Intro to algorithms, pseudocode, and problem solving

L1-3: Python elements, variables, constants, data types, assignment statements, basic I/O, and program forms

Quiz 1 In-class activities, quiz, exam questions, lab checkpoints
Week 2
[dates]

L2-1: Data types, operators, operator precedence, basic string manipulation, and arithmetic expressions

L2-2: Arithmetic expressions, type conversions/casting, and rounding

L2-3: Formatting, structures, and common programming errors

Lab 1, Assignment 1, Quiz 2 In-class activities, quiz, exam questions, lab checkpoints, assignment
Week 3
[dates]

L3-1: Functions I--building programs from existing library modules and top-down design

L3-2: Functions II--functional decomposition, custom functions, and arguments

L3-3: Functions III--function call stack and how to debug programs

Lab 2, Assignment 2, Quiz 3 In-class activities, quiz, exam questions, lab checkpoints, assignment
Week 4
[dates]

L4-1: Selection structures I--Boolean expressions, relational operators, logical operators, conditionals, and if statements

L4-2: Selection structures II--two-way if-else statements and flowcharts

L4-3: Selection structures III--nested and multi-way if-elif-else statements

Lab 3, Assignment 3, Quiz 4 In-class activities, quiz, exam questions, lab checkpoints, assignment
Week 5
[dates]

L5-1: Files I--opening, processing, and closing files

L5-2: Files II--file formats and delimiters

L5-3: Exam 1

Lab 4 In-class activities, exam questions, lab checkpoints, assignment
Week 6
[dates]

L6-1: Loops I--repetition, while loops, and loop control statements

L6-2: Loops II--for-loops and loop patterns

L6-3: Loops III--nested loops and applications

Lab 5, Assignment 4 In-class activities, exam questions, lab checkpoints, assignment
Week 7
[dates]

L7-1: Data structures I--built-in Python collections including lists

L7-2: Data structures II--built-in Python collections; lists w/ applications

L7-3: Data structures III--built-in Python collections; lists w/ applications and prompt engineering

Lab 6, Quiz 5 In-class activities, quiz, exam questions, lab checkpoints, assignment
Week 8
[dates]

L8-1: Objects and classes I--defining classes for objects

L8-2: Objects and classes II--defining classes for objects; applications

L8-3: Objects and classes III--defining classes for objects; applications applying custom classes

Lab 7, Assignment 5, Quiz 6 In-class activities, quiz, exam questions, lab checkpoints, assignment
Week 9
[dates]

L9-1: Strings and special methods

L9-2: The str class

L9-3: Real-world applications for strings and processing

Lab 8, Quiz 7 In-class activities, quiz, exam questions, lab checkpoints, assignment
Week 10
[dates]

L10-1: Lists & sequences--list basics, indexing, & slicing

L10-2: Iterating through lists & applications

L10-3: Exam 2

Lab 9, Assignment 6 In-class activities, exam questions, lab checkpoints, assignment
Week 11
[dates]

L11-1: Recursion I--intro to recursive problems, simple and recursive cases

L11-2: Recursion II--applying recursion to sequential & binary searches

L11-3: Recursion III--applying recursion to maze path finding

Lab 10 In-class activities exam questions, lab checkpoints
Week 12
[dates]

L12-1: Graphics I--intro to graphics

L12-2: Graphics II--visualing data using Matplotlib

L12-3: Graphics III

Lab 11, Assignment 7, Quiz 8 In-class activities, exams questions, lab checkpoints, assignment
Week 13
[dates]

L13-1: Dictionaries I

L13-2: Dictionaries II

L13-3: Dictionaries III--applications of dictionaries

Lab 12, Quiz 9 In-class activities, quiz, exam questions, lab checkpoints
Week 14
[dates]

L14-1: Tuples I

L14-2: Tuples II

L14-3: Tuples III--applications of tuples

Lab 13, Assignment 8, Quiz 10 In-class activities, quiz, exam questions, lab checkpoints, assignment
Week 15
[dates]

L15-1: Sets I

L15-2: Sets II

L15-3: Sets III--applications of sets

Lab final

In-class activities, exam questions

 

 

Expectations for Student Effort 

Academic credit is a measure of the total minimum time commitment required of a typical student in a specific course. For the WSU semester system, one semester credit is assigned for a minimum of 45 hours of student effort. See Academic regulation 27. 

For a 15-week course, students should expect to spend a minimum of 12 hours per week outside of class and lab times for each 4-credit course engaged in activities including, but not limited to: reading course material, reading official documentation for the used programming language and frameworks, contributing to the online discussions, studying for and completing assessments, etc.

 

Grading

Assignment Breakdown
Type of Assignment (tests, papers, etc) Points Percent of Overall Grade
Assignments 1 – 8 including demos 100 pts each – 800 pts total 30%
Quizzes 1 - 10 15 pts each – 150 pts total 8%
Labs 1 - 13 10 pts each – 130 pts total 20%
Exam 1 100 pts 10%
Exam 2 100 pts 10%
Lab final 100 pts 10%
Final written exam 150 pts 10%
Class participation & attendance 10 pts 2%

 

Grading Schema
Grade Percent Grade Percent
A

94 – 100%

C 70 – 73.99%
A-  90 – 93.99% C- 66 – 69.99%
B+ 86 – 89.99% D+ 62 – 65.99%
B 82 – 85.99% D 58 – 61.99%
B- 78 – 81.99% F 0 – 57.99%
C+ 74 – 77.99%  

[Provide information about how grades will be rounded (eg, if 89% earns a B+ and 90% earns an A-, what grade is given to a student with an 89.5?]


Attendance and Make-Up Policy 

Quiz Make-up Policy: All quizzes are take-home. They will be assigned most Fridays and due by the following Monday by midnight. You cannot make up quizzes. 

Exam Make-up Policy: If an emergency occurs, the instructor will accommodate the student as much as possible. Make-up exams will not be possible unless the student speaks with the instructor at least one day in advance. I understand emergencies do occur and rescheduling of exams because of these are to be determined by the instructor. 

Assignment Demo Make-up Policy: If you miss your demo, then you have a max of two opportunities to reschedule during your TAs office hours throughout the semester. Once you have used your two rescheduling opportunities, you will no longer have the opportunity to reschedule a demo for the rest of the semester. Your assignment will not be graded unless you demo your solution. 

Lab Make-up Policy: You may make up some labs if you have an excuse that is acceptable as determined by the instructor or TA, such as being sick, emergency, etc. or your lab lands on a holiday. However, you are still responsible for completing the lab in your own time and demoing your solutions the following week in lab or attending a different lab for the week. If you decide to attend a different lab for the week because of a valid excused reason, please be sure to email the TA of the lab and let him/her know that you will be attending the lab. 


Academic Integrity Statement

Academic integrity is at the heart of all higher education philosophies. Adhering to academic integrity policies ensures that you provide yourself with the best education possible. Maintaining academic integrity assures you receive the credit you deserve for your ideas. 

You are expected to know and understand Washington State University Academic Integrity Policies. Copying and plagiarism of other sources will result in an automatic 0 or F on the assignment. For a second offense, an automatic F in the course will be awarded. In all cases, university authorities will be notified and the proper procedures will be followed. Possible outcomes resulting from violating these policies include denial of certification into your program and expulsion. 

For this course both group (for labs) and individual work (for all other assignments, quizzes, and exams) will be required. We will be using plagiarism detection software in this class to determine similarities between programs. All individual work is designed to be completed with minimal help from your classmates, although you can discuss ideas, you should not generally share code with each other. If you do receive some help from classmates, tutors, and/or TAs, please identify their names in the comment block at the top of your main source file and above the block of code that was shared. You may also use inline comments to indicate specific statements that were shared between you and others. If you do not identify the students that helped you with your program including tutors and/or TAs, then you are at risk of being identified as copying or plagiarizing. If you and other students submit the same solution with only minor changes, this is considered copying/plagiarism and all parties involved will receive a 0 on the work and will be reported to the Office of Student Conduct. If you apply code from a website, then you must also identify the website in a comment block. If all of your work comes directly from one or more online resources, then this also considered copying/plagiarism and you will receive a 0 on the work and will be reported to the Office of Student Conduct. Please also note that at times we will use generative (gen) AI for helping with some tasks. If you use gen AI outside the guidelines for the class, then you will also be reported to the Office of Student Conduct. If help is required, please ask the instructor or TA for guidance first! We are always more than willing to help!! 

Campus statement: “Academic integrity is the cornerstone of higher education. As such, all members of the university community share responsibility for maintaining and promoting the principles of integrity in all activities, including academic integrity and honest scholarship. Academic integrity will be strongly enforced in this course. Students who violate WSU’s Academic Integrity Policy (identified in Washington Administrative Code (WAC) 504-26-010(4) will receive an automatic 0 or F on the assignment. For a second offense, an automatic F in the course will be awarded. You will not have the option to withdraw from the course pending an appeal, and will be reported to the Center for Community Standards. 

Cheating includes, but is not limited to, plagiarism and unauthorized collaboration as defined in the Standards of Conduct for Students, WAC 504-26-010(3). Read and understand all of the definitions of cheatingLinks to an external site.. If you have any questions about what is and is not allowed, ask your course instructor. 

If you wish to appeal a instructor’s decision relating to academic integrity, please use the form available at communitystandards.wsu.eduLinks to an external site.. Make sure you submit your appeal within 21 calendar days of the instructor’s decision.”