Skip to content

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]]