CSC 115 syllabus, Spring 2026

Meeting Times

Lecture

Wednesday and Friday from 9:05am - 9:55am in Whitten LC 160

Note: Lecture attendance is strongly recommended. Lab attendance is required. Students are responsible for all material covered in class and lab.

Lab

SectionDayStart TimeEnd TimeRoom
5NThursday8:50am10:45amUngar 305
7CDFriday10:10am12:05pmUngar 305
7EFFriday12:20pm2:15pmUngar 305

Instructor

Ryan Kuhl, M.S

Teaching-assistant names and contact details are omitted from this public copy.

Course Description

This course provides a comprehensive introduction to Python programming for students with no prior programming experience. Through a combination of interactive lectures and hands-on lab exercises, students will learn fundamental programming concepts and develop practical skills in data analysis, visualization, and software development. The course is structured in two phases: foundational concepts (Weeks 1-8) and applied projects (Weeks 9-16), culminating in a discipline-specific capstone project.

Course Objectives

Upon completion of this course, students will be able to:

Required Materials

Textbook

“Starting Out With Python - 6th Edition” by Tony Gaddis (Pearson)

Canes Course Pack

The Canes Course Pack provides students with access to their required course materials at the start of each semester. The Canes Course Pack allows the University to reduce student course material costs compared to traditional print text and ensures every student can access their course materials on or before the first day of class.

Undergraduate students are automatically enrolled in the Canes Course Pack when they register for their courses. This enrollment will provide students with all required materials for class for one low, flat fee. Course materials will be provided to the student in a digital format, or a physical format when digital is not available. Print materials do not need to be returned at the end of the semester.

For this CSC115 course, we will be using courseware through Follett-Willo accessible via Canvas. You will have direct codeless access to your courseware material through your course shelf. An email will be sent to your school email address prior to classes starting to provide step-by-step instructions.

Revel online platform is required for the course and will have homework exercises assigned via the platform. Revel is accessed through Canvas, which will link to your Pearson Revel account automatically.

Important: If a student opts-out of the Canes Course Pack, they will no longer have access to their digital materials and will need to purchase the digital version of the textbook and Revel separately from the bookstore for a monthly fee. Physical (print) materials that have already been picked up from the campus store must be returned before opting out.

Students are able to opt-out by visiting miami.edu/canescoursepack no later than January 21, 2026.

Computer Requirements

Minimum Specifications:

Required Software:

All software is free and open-source. Installation instructions and technical support will be provided in Week 1. Students must have Jupyter running locally on their computer.

Schedule

WeekDatesLecture TopicsLab Topics
101/14 - 01/17Python Setup and Introduction to ProgrammingSetup Day + First Programs
201/21 - 01/24Variables and Data TypesPersonal Profile Builder
301/28 - 01/31Calculations and String OperationsUnit Converter and Calculator
402/04 - 02/07Decision Structures and Boolean LogicGrade Calculator and Validator
502/11 - 02/14While Loops and IterationNumber Guessing Game
602/18 - 02/21For Loops and Nested LoopsPattern Generator and Data Processor
702/25 - 02/28FunctionsDice Game Simulator
803/04 - 03/07Midterm Exam + File I/O and Exception HandlingGrade Book Manager
903/11 - 03/14SPRING BREAKNO CLASSES
1003/18 - 03/21Lists IntroductionProject 1: Budget Analyzer (Part 1)
1103/25 - 03/28List Methods and ProcessingProject 1: Budget Analyzer (Part 2)
1204/01 - 04/04Data Visualization with MatplotlibProject 1: Budget Analyzer (Final)
1304/08 - 04/11Dictionaries and SetsCapstone Project (Part 1)
1404/15 - 04/18Classes and Object-Oriented ProgrammingCapstone Project (Part 2)
1504/22 - 04/25Advanced Data ProcessingCapstone Project (Part 3)
1604/29 - 05/02Data Visualization & PresentationsCapstone Project (Final Presentations)
Finals05/04Final Exam 8:00am - 10:30amN/A

Remote Class Policy

If the instructor cannot attend a scheduled time-slot, students will receive 24 hours’ notice via Canvas.

Grading Distribution

ComponentPercentage
Lecture Exercises10%
Lab Exercises (Weeks 1-8)30%
Project 1: Budget Analyzer5%
Project 2: Capstone Project25%
Midterm Exam10%
Final Exam20%
Total100%

Grading Scale

GradePercentage
A+97-100%
A93-96%
A-90-92%
B+87-89%
B83-86%
B-80-82%
C+77-79%
C73-76%
C-70-72%
D+67-69%
D63-66%
D-60-62%
FBelow 60%

Course Components

Lecture Exercises (10%)

Interactive follow-along exercises completed during 50-minute lecture sessions. These are designed to reinforce concepts as they are taught and provide immediate feedback on understanding. Lecture exercises are lower-stakes and focus on completion and participation.

Lab Exercises (30%)

Comprehensive hands-on programming assignments completed during 120-minute lab sessions. Labs build on lecture concepts with more complex implementations and progressive difficulty.

Lab Makeup Policy:

If you are absent from a lab session, you are allowed to have a maximum of 2 makeup labs only for the entire term. The makeup lab must be scheduled within one week following your absent lab during the faculty or TA’s office hours to complete the makeup lab.

Projects (30% total)

Project 1: Personal Budget Analyzer (5%) Weeks 10-11

A multi-week project where students build a complete budget analysis application using lists, file I/O, and data visualization. The project includes:

Project 2: Capstone Project (25%) Weeks 12-15

Students design and implement a discipline-specific application that demonstrates mastery of all course concepts. The capstone includes:

Projects must incorporate:

Midterm Exam (10%)

The midterm tests understanding of fundamental programming concepts, code reading comprehension, problem-solving ability, and basic algorithm design.

Final Exam (20%)

The final exam includes:

Late Arrival Policy

Students who arrive more than 30 minutes after the scheduled exam start time will be considered absent from the final exam.

Course Policies

Late Submission Policy

All assignments (lecture exercises, labs, and projects) will adhere to the following late policy:

No extensions will be granted except for documented emergencies or university-excused absences. Please reach out to the instructor for lecture materials and submission extensions if you have an excused absence with proper documentation. Plan ahead and submit early to avoid technical issues.

Academic Integrity Policy

Use of AI Tools and Large Language Models (LLMs)

The use of ChatGPT, GitHub Copilot, Claude, or any other AI-powered coding assistants is strictly prohibited in this course for all graded work. This includes:

Rationale

This is a foundational programming course. Using AI tools prevents you from developing the problem-solving skills and programming intuition necessary for success in computer science. You must learn to write, debug, and understand code independently.

Permitted Resources
Collaboration Policy
Consequences: Violations of academic integrity will result in

Attendance Policy

Lecture attendance is strongly recommended but not required. Lab attendance is required.

If you must miss class:

Communication

Primary Communication Channels

Response Time

I will respond to emails within 48 hours during weekdays. Emails sent after 5 PM Friday will be answered on Monday.

Getting Help**

Accessibility and Accommodations

Students with disabilities who need accommodations should register with the Office of Disability Services and provide documentation to the instructor as early as possible in the semester. I am committed to making this course accessible to all students.

Course Philosophy

High Engagement, High Support, No Ceiling

This course is designed with three core principles:

  1. High Engagement: Fast-paced, interactive lectures with immediate application of concepts
  2. High Support: Abundant resources, instructor availability, and scaffolded learning
  3. No Ceiling: Meeting requirements earns an A, but students are encouraged to push beyond for personal growth and mastery

Grading Philosophy

Learning from Mistakes

Programming is learned through iteration and failure. You are encouraged to:

Weekly Time Commitment

Students should expect to spend approximately 9-12 hours per week on this course:

This is a rigorous course that requires consistent effort. Starting assignments early and practicing regularly is essential for success.

Resources and Support

Instructor Support

Course Materials

External Resources

Additional Support

Important Dates

DateEvent
01/14/2026First day of class
01/28/2026Last day to withdraw (without a W on transcript)
03/06/2026Midterm Exam
03/11/2026 - 03/14/2026Spring Break - No classes
04/10/2026Last day to withdraw (W on transcript)
04/29/2026 - 05/02/2026Capstone Presentations
05/04/2026Final Exam

Note: Check the University Academic Calendar for official dates and deadlines.

Tips for Success

  1. Start assignments early - Programming takes longer than you think
  2. Attend every class - Concepts build on each other
  3. Practice daily - 30 minutes of coding per day is better than 3 hours once a week
  4. Read error messages carefully - They tell you exactly what’s wrong
  5. Ask for help early - Don’t wait until the night before an assignment is due
  6. Work through examples - Type out code from lectures, don’t just read it
  7. Test frequently - Run your code after every few lines
  8. Save your work often - Use Ctrl+S / Cmd+S frequently and keep backups
  9. Collaborate on concepts, not code - Discuss approaches with classmates, but write your own code
  10. Embrace failure - Every error is a learning opportunity

University Standard Policies

Academic Integrity

The Honor Code is in effect. While collaboration is encouraged during practicums, all written reflections, journals, and seminar materials must be your own original work.

Accommodations (ARC)

Students with disabilities who require accommodations must contact the Camner Center for Academic Resources (ARC) in Whitten University Center. Once you have your letter, please meet with me privately to discuss your needs.

Religious Holy Days

It is the student’s responsibility to inform the instructor within the first three weeks of the semester of any intended absences due to religious observances.

Title IX & Sexual Misconduct

The University of Miami has a zero-tolerance policy for sexual misconduct. As an instructor, I am a “Responsible Employee,” meaning I am required to report any instances of sexual harassment or sexual violence to the Title IX Coordinator.

Disclaimer

This syllabus is a preliminary outline and may be subject to change as the course progresses. Any changes will be announced in class and posted on Canvas. Students are responsible for staying informed about course updates.


Updated

Last Updated: January 2026