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
|
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 |
| Dates | Lesson Topic | Assignment | Assessment |
|---|---|---|---|
|
Week 1 |
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
| 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% |
| 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.”