University of Minnesota
Master of Science in Software Engineering
/

You are here

SENG Topics: Web Application Development

This is a hands-on, project-oriented course where students will learn about numerous aspects of developing modern web-based applications by actually developing systems during the course of the semester. The course will cover topics such as object-relational mapping, transactions, model view controller architectures, web services, integration, sending email, security, deployment, and web presentation layer technologies. The course will demonstrate these topics using the programming language Groovy (a dynamic version of the Java programming language) and Grails (a rapid web application development framework based on Groovy). The course will also cover agile development practices such as unit testing. Students will be expected to submit multiple assignments which are functioning web applications that they develop with a teammate. In addition to functionally working web applications, the assignments are also required to contain passing unit tests with a specified amount of code coverage. In addition to Groovy and Grails, other web technologies will be covered such as HTML, CSS, JavaScript, and jQuery amongst others.

Course Objectives:
This course is an in-depth discussion of the challenges and complexities involved in designing and implementing modern business web applications. Students will gain experience designing and implementing a project during in the course of the semester. This process will give students experience with the following concepts:
-Domain-driven design, persistence techniques, and transactions
-Web services using REST patterns
-Model-View-Controller design patterns
-Single page web applications
-Responsive web design
-Agile development frameworks
-Unit testing
-Dynamic programming languages

We will discuss these topics both from theoretical and practical perspectives. Throughout the course we will also discuss agile development best practices and have an opportunity to implement many as we complete projects. Discussions will focus on best practices highlighted with relevant, industry accepted approaches. The vast majority of frameworks and tools featured will come from best-of-breed open source projects. We will look at these projects not only to understand how they can be successfully used, but also critically on how they fail to address the core challenges of modern business application development.

Course ID: 
SENG Topics
Complete Name of the Course: 
Web Application Development
Intended Semester: 
elective