Skip to main content

Fundamentals of Software Development and Programming

fundamentals-of-software-development-comscix414-20
COM SCI X 414.20

This hands-on course introduces coding, app development, and software design fundamentals using Python, preparing students for advanced programming in multiple languages through guided labs, real-world projects, and exploration of modern development practices including AI-assisted coding.

Typically Available
Fall
Winter
Spring
Summer
Duration
As few as 11 weeks
Units
4.0
Current Formats
Live Online
Hybrid
Cost
Starting at $1,095.00

Get More Info

 

What you can learn.

Enumerate terminology from various development methodologies, including Agile Scrum
Understand principles of procedural and object-oriented programming and syntax using Python (simple input/output programs, variables, expressions, looping, selection, functions, objects)
Understand principles of object-oriented event-driven programming and syntax plus GUI user interface design for Windows using Visual Basic
Identify and utilize the basic logical structures of a program
Debug programs and test them using simple software test techniques

About This Course

The course provides an introduction to computer programming (coding) and software app development. It benefits individuals pursuing programming and software development as a career, as well as anyone in the IT field who works with programmers and systems analysts in important areas that precede actual programming, including problem-solving approaches, specifications and requirements, user interface design, and structured program design using such tools as pseudocode and UML charts.

Instruction covers coding concepts common to several modern languages, including Python, Visual C#, Java, Go, and shell scripting. We will explore procedural and object-oriented concepts using Python as the demonstration language, with an emphasis on non-language-specific approaches. This introductory course presents programming fundamentals, including variables and expressions, looping, selection, functions and parameter passing, file processing, fundamentals of object-oriented development, and advanced data types such as lists and sets. The course also covers the software development cycle, including SCRUM, unit testing and integration, alpha/beta testing, and software defect tracking and classification. The use of AI (Artificial Intelligence) as an aid to coding is also discussed.

This is a lab course where, for each module, students will study video lectures and readings a few days before the class session,  followed by a live coding lab class session where various programming tasks will be completed under the guidance and review of the instructor. Additionally, students will produce—outside of the classroom- six applications in increasing size and complexity throughout the course.

This introductory course requires weekly coding lab tasks and assignments and prepares students for future coursework in Python, Java, Visual C#, or any other high-level language.

Winter 2026 Schedule

Date
Details
Format
 
-
Monday 6:30PM - 9:30PM PT
Instructor:
REG#
405818
Fee:
$1,095.00
Hybridformat icon
Remote Classroom
UCLA Extension Lindbrook Center in Westwood
Updating...
Notes

Enrollment limited; early enrollment advised. Enrollment deadline: January 11th, 2026.

This hybrid section is made up of in-person and online instruction.

International Students: This hybrid section is considered in person for immigration purposes.

Deadline
Refunds only available from November 03, 2025 to January 18, 2026
Course Requirements
Internet access required to retrieve course materials.
(Optional) Murach’s Python Programming
Schedule
Type
Date
Time
Location
Lecture
Mon Jan 5, 2026
6:30PM PT - 9:30PM PT
UCLA Extension Lindbrook Center in Westwood
UCLA Extension Lindbrook Center 206
Lecture
Mon Jan 12, 2026
6:30PM PT - 9:30PM PT
UCLA Extension Lindbrook Center in Westwood
UCLA Extension Lindbrook Center 206
Lecture
Mon Jan 19, 2026
6:30PM PT - 9:30PM PT
UCLA Extension Lindbrook Center in Westwood
UCLA Extension Lindbrook Center 206
Lecture
Mon Jan 26, 2026
6:30PM PT - 9:30PM PT
UCLA Extension Lindbrook Center in Westwood
UCLA Extension Lindbrook Center 206
Lecture
Mon Feb 2, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Mon Feb 9, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Mon Feb 23, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Mon Mar 2, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Mon Mar 9, 2026
6:30PM PT - 9:30PM PT
UCLA Extension Lindbrook Center in Westwood
UCLA Extension Lindbrook Center 206
Lecture
Mon Mar 16, 2026
6:30PM PT - 9:30PM PT
UCLA Extension Lindbrook Center in Westwood
UCLA Extension Lindbrook Center 206
Updating...
-
Wednesday 6:30PM - 9:30PM PT
Instructor:
REG#
405817
Fee:
$1,095.00
Live Onlineformat icon
Remote Classroom
Updating...
Notes

Enrollment limited; early enrollment advised. Enrollment deadline: January 11th, 2026.

Deadline
Refunds only available from November 03, 2025 to January 18, 2026
Course Requirements
Internet access required to retrieve course materials.
(Optional) Murach’s Python Programming
Schedule
Type
Date
Time
Location
Lecture
Wed Jan 7, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Wed Jan 14, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Wed Jan 21, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Wed Jan 28, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Wed Feb 4, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Wed Feb 11, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Wed Feb 18, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Wed Feb 25, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Wed Mar 4, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Wed Mar 11, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Lecture
Wed Mar 18, 2026
6:30PM PT - 9:30PM PT
Remote Classroom
Updating...

This course applies toward the following programs

certificate Develop software applications in Java and Python and enhance your web development skills. Gain the practical knowledge necessary to compete in an evolving technology ecosystem.

Develop software applications in Java and Python and enhance your web development skills. Gain the practical knowledge necessary to compete in an evolving technology ecosystem. 

systems-analysis-ce0042

Systems Analysis

certificate
certificate This certificate provides training in analysis and design of information systems. The program prepares students to perform information systems requirements analysis, design, development, installation, and operation as well as testing and documentation. Courses include computer network communication protocol TCP/IP, database management, network security, and operating systems. Formats: Online, In-Person

This certificate provides training in analysis and design of information systems. The program prepares students to perform information systems requirements analysis, design, development, installation, and operation as well as testing and documentation. Courses include computer network communication protocol TCP/IP, database management, network security, and operating systems. Formats: Online, In-Person