Agile Application Development


Learn how to design, plan and create data-driven applications using the Python language. Over the two courses in this certificate you’ll learn how to create multiple applications, each one increasing in complexity as you build real-world data structures and programs. You’ll develop the ability to design, plan and create complex applications and their data structures using Agile development methodologies and object-oriented programming techniques. Gain the professional IT skills desired by employers everywhere!


The certificate consists of two courses taken over two semesters (a total of 30 weeks). Each course features a series of weekly modules that students must complete during that week. Each module includes video to watch, text to read, activities to perform, and papers to write. The courses build on each other and must therefore be taken in order.

Course 1: Programming Applications

This course explores the fundamentals of programming, teaching you how to create both simple and more advanced applications. You’ll learn the key techniques and concepts of application development, and by the end you’ll have created a multi-tiered application that stores its data in a relational database.

Master Key Concepts

  • Variables, assignments and simple input/output
  • Conditional logic to process user i/o
  • String methods, sequences and loops
  • Data collection in complex sets
  • Functions and code modules
  • Data files and exception handling
  • Object-oriented programming and abstraction concepts
  • Data-driven applications, database abstraction and transactional processing
  • Graphical user interfaces

Course 2: Application Development

This course covers how to design, plan, manage, create and refactor data-driven applications. You’ll develop a variety of different applications throughout the course, using real-world, multi-milestone development cycles to complete your projects.

Master Key Concepts

  • Project planning and Agile development
  • Source control using GitHub
  • Middle-tier components and test harnesses
  • File-based data storage using HTML, CSV and JSON
  • Console-based and graphical user interfaces
  • Relational databases and structures
  • Transactional components and applications
  • Professional project documentation approaches
  • Application release and deployment strategies


Summer Elasady

Summer Elasady is a bioinformatic scientist who’s been working in the software industry for more than a decade. She sold her first database-driven software company at the age of 26 and was then hired to manage the fraud detection team for

She’s spent the past several years using Python, PySpark, R and SQL to create and improve sequence alignment, create analysis pipelines for data science/ML algorithms, and streamline deployment of big data projects on AWS and Hadoop ecosystems. She currently works as a Technical Lead at Nanostring, leading a small team in the development of analysis software for a new sequencing platform. And in her spare time, she helps teach and develop curriculum for the University of Washington in programming and data science and at the University of New Orleans in application development.

Prior to teaching at the University of New Orleans, Summer designed training courses for professional software companies, including and MyProcess, and taught undergraduate courses at the University of Oregon and certificate courses at the University of Washington. She’s a member of the Puget Sound Python Programming group and has helped designed STEM courses for Washington high schools as a fellow for the Washington Alliance for a Better School System. She’s passionate about teaching Python and making the STEM fields more accessible. Elasady earned a Teaching Excellence Award in both 2017 and 2018 for her work with certificate programs.