


Python Programming Fundamentals
CSE-41273
Advance Your Python Skills and Learn Best Practices for Real-World Development
Python is one of the most versatile and widely used programming languages today, powering everything from web development and automation to data science, bioinformatics, and machine learning. This Python Programming Fundamentals course builds on foundational knowledge and dives deeper into the features that make Python a favorite among developers and data professionals.
Course Overview
Designed for learners who have completed Introduction to Programming (Python) or have equivalent experience, this course goes beyond the basics to explore Python’s full development lifecycle and practical applications.
You’ll gain hands-on experience with:
- Core Programming Concepts: Variables, expressions, functions, branching, loops, and data storage
- Object-Oriented Programming (OOP): Classes, inheritance, encapsulation, and abstraction
- Pythonic Coding Practices: Clean coding style, documentation standards, and project environment setup
- Advanced Python Features: Comprehensions, iteration, context managers, and file handling
- Third-Party Libraries: How to leverage Python’s rich ecosystem for tasks
Course Benefits
By the end of this course, you’ll be able to:
- Set up and manage Python project environments
- Write command-line programs with proper documentation
- Create portable Python modules for integration with other systems
- Apply test-driven development principles to your code
- Build a strong foundation for advanced Python topics and career growth
Course Format
- Offered Every Academic Quarter
- Online:
- Delivered asynchronously with access to course materials anytime during the published course dates
- Flexibility within structured timelines
- Interactive learning environments using Canvas LMS
- Instructor support and feedback
- Access to all course materials online
- Two Formats Available:
- Accelerated (5 Weeks) – Section ID: 193163
- Regular Pace (9 Weeks) – Section ID: 193162
Prerequisites
Completion of Introduction to Programming (Python) or equivalent experience
Next Steps
After completing this course, students are encouraged to continue their learning journey by enrolling in the Python Programming certificate program and taking Intermediate Python.
More information:
Contact infotech@ucsd.edu to learn more about this course.
Course Information
Course sessions
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
All course materials are included unless otherwise stated.
Policies:
- No refunds after: 9/29/2025
Schedule:
Instructor:
James Gappy, M.S.

Senior Software Engineer, Sony
James Gappy earned his master's in Computer Science/Engineering from Wayne State University. He is a professor at Mesa College where he teaches programming.
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
All course materials are included unless otherwise stated.
Policies:
- No refunds after: 11/10/2025
Note:
Schedule:
Instructor: Louis Rey, BSEE
CE Certification/ Interoperability Supervisor, DivX.
Louis Rey is currently working at DivX as a CE Certification/Interoperability Supervisor with a focus in Video Compression and Digital/Analog Video. He has over 16 years of experience in various fields ranging from Optoelectronics, Industrial Automation, Wireless Communications (commercial and military), Digital Video Processing and Compression, and Software Development.
Mr. Rey has also over 15 years of teaching experience in technical, engineering and software development areas including, various Electronics in Digital, Analog and Communications courses, Digital Video Processing and Compression Algorithms, C++, Python, MATLAB, PLC, and SCADA.
He holds a MSEE from San Diego State University with focus in DSP, Communications and Modem/Software Radio Design and additional graduate level coursework in Digital Image Processing.
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
All course materials are included unless otherwise stated.
Policies:
- No refunds after: 1/12/2026
Schedule:
Instructor:
James Gappy, M.S.

Senior Software Engineer, Sony
James Gappy earned his master's in Computer Science/Engineering from Wayne State University. He is a professor at Mesa College where he teaches programming.
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
All course materials are included unless otherwise stated.
Policies:
- No refunds after: 2/23/2026
Schedule:
Instructor: Louis Rey, BSEE
CE Certification/ Interoperability Supervisor, DivX.
Louis Rey is currently working at DivX as a CE Certification/Interoperability Supervisor with a focus in Video Compression and Digital/Analog Video. He has over 16 years of experience in various fields ranging from Optoelectronics, Industrial Automation, Wireless Communications (commercial and military), Digital Video Processing and Compression, and Software Development.
Mr. Rey has also over 15 years of teaching experience in technical, engineering and software development areas including, various Electronics in Digital, Analog and Communications courses, Digital Video Processing and Compression Algorithms, C++, Python, MATLAB, PLC, and SCADA.
He holds a MSEE from San Diego State University with focus in DSP, Communications and Modem/Software Radio Design and additional graduate level coursework in Digital Image Processing.
FAQs
- The course is at capacity. If the course is at capacity you will only be able to join the waitlist. If space becomes available in the course, students on the waitlist are contacted in the order they joined the waitlist.
- The course has progressed to a point where students will no longer be able to make-up missed work and be successful in the course.
- The course is cancelled due to low enrollments.
You will have access to the online Canvas course on the official start date of the class/exam/info session. Access will be available at 12:01am Pacific Time.
Enrollment to online classes can take up to 24 hours to process and sync up to our online platform, Canvas. For example, if a class started on Tuesday and that is the day a student enrolled, they will likely not have full access to the class until 24 hours later on Wednesday.
courses run 10-11 weeks. For exact course dates of upcoming sections, visit the course page on our website.
If you wish to transfer credit, it is your responsibility to confer with the receiving institution before enrolling, as each individual academic institution decides whether or not to accept Extension’s credits.
If you are interested in taking courses at UC San Diego Division of Extended Studies, you will need to obtain written approval from your school principal or counselor. The approval must be signed and printed on school letterhead, and must be included with your registration. If you are homeschooled, your approval needs to be signed by your contact in your local school district.
The letter should verify that you, the student, have the maturity and academic readiness to attend a post-baccalaureate level or college-level course.
Approvals can be emailed to unex-reg@ucsd.edu.
We are unable to accept letters signed by your parent, even if your parent is your teacher and/or school administrator. If you have taken community college courses, an official transcript from that college verifying coursework will be accepted in lieu of a letter from your high school or district. College transcripts must reflect a cumulative GPA of 2.0 or higher.
**Please note that some courses may address adult themes or use nude models.
Many UC San Diego Division of Extended Studies courses can be transferred to other UC’s and/or other colleges or universities. The transfer of credit is determined solely by the receiving institution. It is recommended you discuss how your individual courses will transfer with the registrar's office at the receiving institution before you enroll. A syllabus can be requested from the department.