Faculty
|
Course Description
This course will provide a comprehensive introduction to web app development, covering JavaScript, back end development, front end development, and user interface design.
Course Philosophy
Web applications dominate the modern computing landscape. From finance, to transportation, to entertainment, these applications increasingly dictate how we interact with technology in our daily lives. However, programming for the modern web can seem to be a daunting challenge. Many questions arise such as What framework (from the many) should I use? How do I support desktop and mobile? How do I know if my application is usable? Can my application scale? In this course we aim to equip you with the knowledge required to be successful in modern web development.
As such, this course has three main philosophical objectives:
1) Equip you with the foundational knowledge related to the concepts that drive modern web applications.
- For this objective, we will examine some of the conceptual underpinnings of modern web development such as principles of asynchronous programming, backend web development, and persistence, HTTP requests, etc.
2) Explore some of the most popular current web programming frameworks/libraries to provide practical experience using tools in use by developers today.
- For this objective, we will explore the React web programming library in some depth.
3) Provide an understanding of the software engineering tools and practices that are available to achieve "good design" in a variety of settings.
- For this objective, we will explore topics such as empirical and analytical methods for conducting usability evaluations, as well as different principles for usable interface design that facilitate the development of User Interfaces.
Learning Outcomes
- Knowledge of quantitative engineering principles for how to build software user interfaces, especially web-based user interfaces, that are usable
- Understanding the client-server and message-passing computing models in the context of web applications
- Knowledge for how to build usable, secure and effective web applications
- Theoretical and practical knowledge about how data are stored and shared in web applications
- Component software development using specific technologies
- Understanding that usability is more important than efficiency for almost all modern software projects, and often the primary factor that leads to product success
Full Syllabus
To access the full syllabus for this course click on the link below to be taken to the course webpage which contains more detailed information.
Click Here for Full Syllabus