This course on software engineering covers design and implementation of medium-scale software systems, using web applications as a platform. In the course, students learn the fundamentals of structuring a web application and writing modular code, with an emphasis on conceptual design to achieve clarity, simplicity, and modularity. Topics also include functional programming, relational databases, and security.
Type of Material:
Online material for a course
Recommended Uses:
It is recommended for in-class lectures, assignments, and unsupervised activities.
It can be used in part for self-paced learning. It has an important element of team work. It can be used by teachers to support their own course.
Technical Requirements:
Regular web access, PDF viewer
Identify Major Learning Goals:
If taken in its entirety, supported by additional material as appropriate for the level, including undertaking the individual and team practical elements, learners have the opportunity to:
Have improved their ability to analyze problems, explore and invent designs, present work, and critique the work of others
Have developed a strong grasp of key software design notions (in particular, conceptual modeling, decoupling and abstraction) and improved skills in designing key components of a software system
Be able to build medium-scale web applications using standard technologies, conducting all phases of development from problem analysis to deployment
Have experienced the benefits and challenges of working in a team
Target Student Population:
Undergrad students of CS, SE, IT, and any other relevant domain
Prerequisite Knowledge or Skills:
Structured Programming
OOP
Basic knowledge of Computer Networks and security
Knowledge of fundaments of computer science and programming experience
Content Quality
Rating:
Strengths:
The content covered is very well aligned with the course goals.
The approach is very hands-on, which is correct for the topic.
The materials are very direct and reflect best practice.
It is well suited for self-paced learning.
Concerns:
Depending on the background of the learners it may be necessary to complement the materials with other sources.
Perhaps more information on the assessment of projects, particularly the team one, would be beneficial.
Potential Effectiveness as a Teaching Tool
Rating:
Strengths:
The materials have good coverage of the topic and that gives it good potential to be effective. Good practices are well discussed. It is in general effective in terms of usability of software.
Concerns:
Some of the topics are covered in the materials at a relatively high level, thus further content may need to be prepared/used.
Ease of Use for Both Students and Faculty
Rating:
Strengths:
The material is easily accessible and navigable. It provides good usability and user experience.
Concerns:
Lecture notes are only available as PDF documents.
Creative Commons:
Search by ISBN?
It looks like you have entered an ISBN number. Would you like to search using what you have
entered as an ISBN number?
Searching for Members?
You entered an email address. Would you like to search for members? Click Yes to continue. If no, materials will be displayed first. You can refine your search with the options on the left of the results page.
Searching for Members?
You entered an email address. Would you like to search for members? Click Yes to continue. If no, materials will be displayed first. You can refine your search with the options on the left of the results page.