CSE 101: Beginning Software Engineering


In this interactive, hands-on course, you will learn the basic principles of software development, and become familiar with the Python programming language. At the end of the course, you will be able to understand the software development process and use Python to implement relatively complex stand-alone programs that manipulate data on your local machine.

This course is well suited for people interested in starting a career in software development. If you are looking for a career change or want to add new programming skills that will enable you to advance in your current job, this is the course for you. This course is also a prerequisite for the CSE 102: Advanced Software Development course and part of the Cloud Software Engineer Learning Path.

Why Learn the Basics?

Having a solid foundation in software development practices is crucial for your career as Cloud Software Engineer. Software Engineering is not only writing code but understanding the process of gathering requirements, implementing the functionality, testing and debugging the implementation as well as subsequent improvements.

The best Software Engineers have also a good understanding of the computer hardware and are able to quantify the performance impact of their implementation. They write clean and reusable code that can be easily maintained and extended by other Software Engineers.

Learning the best practices from the beginning will allow you to advance much faster in your career as Cloud Software Engineer.

What Will You Learn?

Throughout this course, you will get foundational knowledge in the following areas:

  • Analyzing customer requirements
  • Computer basics and how programs get executed
  • Python programming language, including:
    • Language syntax
    • Built-in data types
    • Control structures
    • Functions and functional programming
    • Classes and basic object-oriented programming concepts
    • Packages and modules
    • Using standard libraries
  • Following proper naming conventions
  • Documenting your code
  • Testing your code
  • Debugging and troubleshooting
  • Packaging and delivering your code


Homework assignments will be given at the end of each session, and discussed at the beginning of the next session. Assignments will include solving small programming problems, topics research or functionality design.

Assignments need to be completed and submitted for evaluation before the next session starts.


No prior knowledge in software development is required for this course.

This is a bring-your-own-computer course! Please make sure you bring your laptop (Mac or Windows) and have it ready with the following setup:

  • Python binaries installed. We will use Python 2.7 for this course however, we will outline some differences between Python 2.x and 3.x
  • Text editor for editing configuration files. You can choose any text editor that you are familiar with. If you don’t have one we recommend Komodo Edit or Visual Studio Code which are lightweight, cross-platform (Mac and Windows) IDE
  • Git client installed. You can install the command line clients linked below. We also recommend SourceTree (available on both Mac and Windows) for people who prefer GUIs instead

Computer Requirements

Standard off-the-shelf laptop will be sufficient for this course however here are some requirements and recommendations:

  • 4GB RAM required; 8GB or more recommended
  • 50GB free disk space; SSD preferred
  • WiFi for access to the Internet (wired connectivity is not provided)
  • Chrome, Firefox or Safari browser

Also, make sure you have Admin/Root access to your machine’s OS if additional software installation is required.

Attendance Policy

No refunds will be issued for this course. Rebooking is possible no less than two weeks in advance.

This course is eligible for a professional certificate. In order to obtain the certificate, 90% attendance and 90% of the available homework points is required.

Arriving on-time, participation in discussions, and demonstration of professional courtesy to others are required.

Course Details

Duration: 50 hours
(weekend and evening schedules available)
Tuition Fee: $1,655

Related Courses