Fundamentals of Software Development and Programming
Fundamentals of Software Development and Programming
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.
Get More Info
What you can learn.
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
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.
UCLA Extension Lindbrook Center 206
UCLA Extension Lindbrook Center 206
UCLA Extension Lindbrook Center 206
UCLA Extension Lindbrook Center 206
UCLA Extension Lindbrook Center 206
UCLA Extension Lindbrook Center 206
Enrollment limited; early enrollment advised. Enrollment deadline: January 11th, 2026.
This course applies toward the following programs
Software Development
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
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