CPSI 17503: Programming Iπ
Section 01: MW 1:40 PM -- 2:55 PM in EI323
Spring 2026
Programming I (01)π
Instructor Infoπ
Name: Nicholas Seward Preferred
Pronouns: he/him
Email: njseward@ualr.edu
Office Location: EIT 575
Office Hours: M 4:30pm-5:30pm (EIT 575), T 1:30pm-3:30pm (EIT 3rd Floor), W 9:30am10:30am
I am available for in-person or virtual office hours upon request. Just contact me via email or Discord to set up a time. Use the Zoom Class link for virtual meetings.
Course Descriptionπ
Credit Hour(s): 3
Welcome to Programming 1. In this class we will learn problem solving and algorithm development in a modern object-oriented programming language (Python). Topics will include control structures, types, member functions and prototypes, arrays, pointers and references, utilizing application program interfaces (APlβs), classes, objects, and basic object-oriented programming concepts. Students will also learn debugging techniques.
Prerequisites: MATH 10203 or equivalent.
Course Learning Objectivesπ
Upon successful completion of this course, students will be able to:
- Given a set of requirements, implement a program that meets the requirements. (PI-2b)
- Choose the best data structures and algorithms to solve problems and correctly implement them to produce a software solution. (PI-6a)
- Divide a complex computing problem into solvable subcomponents with appropriate data structures and algorithms. (PI-1a)
Course Materialsπ
Title: Think Python (online)
Required vs Recommended: Required
https://allendowney.github.io/ThinkPython/
Grading Scaleπ
Your semester grade for this course will be determined based on the following scale:
A = 90-100
B = 80-89
C = 70-79
D = 60-69
F = less than 60
A = excellent work; B = above average work; C = average work; D = below average; F = failing
Grading Criteriaπ
| Category | Percent of Total Grade |
|---|---|
| Quiz | 10% |
| Tutorial | 10% |
| Practice | 10% |
| Participation | 10% |
| Project | 30% |
| Midterm | 10% |
| Final | 20% |
Learning Activitiesπ
Course content will be delivered through recorded lectures and assigned readings.
The primary form of assessment will be programming projects. In addition, there will be quizzes, practice programming exercises, and tutorials interspersed between the main assignments.
There will be two major assessments: a midterm and a final exam.
University Policiesπ
Students with Disabilitiesπ
- https://ualr.edu/policy/facstaff/course-syllabus/
If you are a student with a disability, or if you simply want to discuss resources that might help you learn more effectively, you can contact the Disability Resource Center at any time. You are welcome to drop in or call 501-916-3143 to make an appointment. Their staff will work with you to discuss accommodations and identify resources on campus or in the community that might be helpful for you. Accommodations are established through an interactive process. For more information, visit the DRC website or review the steps to request accommodations. We want you to know you are valued, welcome, and wanted at UA Little Rock.
Non-Discrimination Policyπ
Title IX and Harassmentπ
Inclement Weather Policyπ
Academic Integrityπ
Disclosure of Instances of Sexual Misconductπ
Withdrawalπ
Add/Dropπ
Incompleteπ
Grade Policiesπ
Course Policiesπ
Class Attendance & Participation
-
Participation is evaluated periodically through:
-
Real-time interaction during synchronous class sessions (excluding the asynchronous section),
-
Contributions to online discussion boards, and Occasional in-class or short response assignments.
Assignment Grading Scale
- 100% β No issues
- 90% β Minor issue(s) that can be corrected quickly
- 80% β Several small issues present
- 70% β Multiple issues, but sufficient understanding demonstrated; resubmission not required
- 0% β Significant issues indicating a breakdown in understanding; the student would benefit from resubmitting the assignment
Project Grading Policy - 90β100% β Project exceeds the minimum requirements - 90% β Project meets all minimum requirements with no bugs - 80% β Project meets all minimum requirements with minor bugs - 50% β Project meets some requirements, but is incomplete - 0% β Project is missing most required components
Late Policy
All work except exams may be submitted late.
- An assignment is upgraded to on time if it is submitted before all on-time submissions for that assignment have been graded.
- Assignments submitted after on-time grading is complete will incur a 20-point penalty.
This course typically has around 100 students, and most assignments take more than one minute per student to grade. Even in the unlikely event that grading begins immediately at midnight (the most common submission time), submissions received before approximately 1:30 AM would likely still be considered on time. More realistically, grading will begin days later. The instructorβs goal is to complete grading within 7 days of the deadline.
Assignment Resubmission Policy
Students may resubmit assignments an unlimited number of times. However, the late submission policy still applies. If a resubmission is made after all other students have been graded for a particular assignment, it will be graded as a late submission.
Extension Policy
Extensions are not granted. However, late work is always accepted. If you experience extenuating circumstances, please inform me as a form of documentation. I will take these situations into consideration at the end of the semester. In such cases, I may adjust your grade if it appears that you faced an isolated challenge during the semester but were able to recover successfully.
Incompletes
Unexpected eventsβsuch as work, illness, injury, or a death in the familyβcan affect your ability to complete the course. In such cases, we can discuss the option of an incomplete, allowing you extra time past the courseβs end to complete the work. This often involves completing slightly different assignments than those given to other students.
Incompletes require official paperwork and are granted at the sole discretion of the instructor.
Makeup Policy
The instructor must be informed before the midterm or final exam date if a different date is required.
Academic Honesty
Plagiarism on any assignment will at a minimum result in 0 points for the assignment. We reserve the right to pursue further disciplinary action if appropriate (e.g. any student caught cheating on an assignment/assessment will receive an βFβ for the course, and we may pursue action with the Committee on Academic Integrity). Plagiarism includes copying someone elseβs work and claiming it as your own, or collaborating excessively with another person or persons and claiming the work as solely your own. It is strongly recommended that students maintain a record of the preparation of their major assignments. For more information on academic offenses, please refer to the following websites: Academic Integrity and Grievance Policy https://ualr.edu/deanofstudents/section-vii-administration/academic-integrity-grievancepolicy/ and Academic Offenses: https://ualr.edu/deanofstudents/section-viiadministration/academic-offenses/
AI Usage Policy
Use of AI in this course is encouraged and permitted under the following constraints:
- Use of the AI on any work product submitted is acknowledged.
- The work submitted can be reasonable and ethically claimed as you own.
- You are fully responsible for all the content of work submitted.
Failure to adhere to these constraints may be treated as academic misconduct.
Helpful University Resourcesπ
Blackboard Student Support
Bookstore
Care Team
Career Center
Child Care Connections
Disabilities Resource Center
Communication Skill Center (CSC)
Counseling
Handshake
Health Services
Information Technology Services (ITS)
Mathematics Assistance Center
Military Student Success Center
Office of Student Retention Initiatives (SRI)
Student Support Services (SSS)
Trojan Tutoring (i.e. introductory-level courses only) via University Learning CommonsΒ
UA Little Rock Trojan Food Pantry
University Writing Center (UWC)
Ottenheimer Library
Tentative Course Scheduleπ
Week 1: Introduction (Module 1)
Topics: β’ What is Programming β’ Programming Languages β’ Compilation vs Interpretation β’ IDEs β’ Number Systems β’ Syntax vs Semantics β’ Debugging Mindset β’ Hello World β’ Comments
Reading: Chapter 1 β Programming as a Way of Thinking + Custom Material
Week 2: Basics (Module 2)
Topics: β’ Coding Conventions (PEP 8) β’ Variables & Types β’ Arithmetic & Logical Operations β’ Input/Output β’ f-strings β’ Type Casting β’ Errors & Tracebacks
Reading: Chapter 2 β Variables and Statements
Week 3: Conditionals and Functions (Module 3)
Topics: β’ if/elif/else β’ Boolean Logic β’ Truthy/Falsy β’ Function Definitions β’ Parameters & Arguments β’ Scope
Reading: Chapters 3 & 5 β Functions, Conditionals and Recursion
Due: Project 1
Week 4: Functions and Recursion (Module 4)
Topics: β’ Function Signatures β’ Default Arguments β’ Return Values β’ Modular Design β’ Recursion β’ Call Stack Visualization
Reading: Chapters 4 & 6 β Functions and Interfaces, Return Values
Week 5: Iteration (Module 5)
Topics: β’ for/while Loops β’ range() β’ break/continue/pass β’ Accumulators β’ Index vs Direct Iteration
Reading: Chapter 7 β Iteration and Search
Week 6: Data Structures (Module 6)
Topics: β’ Lists β’ Indexing & Slicing β’ List Methods (Stacks/Queues) β’ Mutable vs Immutable β’ Dictionaries β’ Tuples
Reading: Chapters 9, 10, 11 β Lists, Dictionaries, Tuples
Due: Project 2
Week 7: Midterm Week
Due: Midterm Exam (Covers Weeks 1β6)
Week 8: String Manipulation (Module 7)
Topics: β’ Strings as Sequences β’ Indexing & Slicing β’ String Methods β’ Regex β’ ASCII & Unicode β’ Escape Characters
Reading: Chapter 8 β Strings and Regular Expressions
Week 9: File I/O (Module 8)
Topics: β’ Reading/Writing Files β’ File Modes β’ Line-by-Line vs Bulk Reads β’ Serialization β’ Basic Databases β’ try/except β’ File Paths
Reading: Chapter 13 β Files and Databases
Week 10: Classes (Module 9)
Topics: β’ Class Definitions β’ Attributes & Methods β’ Object Interaction β’ Inheritance β’ Polymorphism β’ Encapsulation
Reading: Chapters 14β17 β Classes and Objects, Inheritance
Due: Project 3
Week 11: Random & Memory (Module 10)
Topics: β’ Pseudorandom vs True Random β’ random Module β’ References & Aliasing β’ deepcopy β’ Stack vs Heap β’ Intro Complexity β’ time Module
Reading: Custom Material
Week 12: Python Tricks (Module 11)
Topics: β’ Comprehensions β’ Conditional Expressions β’ Sets β’ Lambdas β’ map/filter/zip β’ Unpacking β’ Iterators
Reading: Chapter 18 β Python Extras
Due: Project 4
Week 13: Fancy Data Structures (Module 12)
Topics: β’ Linked Lists β’ Trees β’ Binary Search Trees β’ Time & Space Complexity β’ Algorithm ReviewReading: Custom Material
Week 14: C/C++ Primer (Module 13)
Topics: β’ Python vs C/C++ Syntax β’ Manual Memory Management β’ Performance β’ Type Declarations β’ Compilation Model
Reading: Custom Material
Final
![[Spring-2026-CPSI-17503-01-Programming-I.pdf]]