Page 255 - University Bulletin
P. 255
SE311 Software Requirements Engineering
Credits: 3 (3,0,1) Prerequisites: SE201
This course covers software requirements, applied to a variety of types of software. It also covers
techniques for discovering and eliciting requirements, requirements documentation standards,
languages and models for representing requirements, analysis and validation techniques,
including need, goal, and use case analysis, requirements in the context of system engineering,
specifying and measuring external qualities: performance, reliability, availability, safety, security,
etc., and requirements management: handling requirements changes, traceability, resolving
feature interactions.
SE322 Software Design and Architecture
Credits: 3 (3,0,1) Prerequisites: SE311
This course covers software design in-depth. Study of fundamental design concepts, design
notations, and architectural design methods for large-scale software systems; several design
methods are presented and compared, with examples of their use; Concepts such as information
hiding, data abstraction, concurrency, and object-oriented software construction are discussed in
depth; Students participate in a group project on software design.
SE365 Human Computer Interaction
Credits: 3 (3,1,0) Prerequisites: CS210
This course covers the introduction to the concepts underlying the design of human-computer
interaction: usability, direct manipulation, systematic design methods, user conceptual models
and interface metaphors, design languages and genres, human cognitive and physical ergonomics,
information and interactivity structures, design tools and environments. This course teaches how
HCI affects the overall design of interfaces. The course covers four major parts: the foundation,
the design process, models and theories, and thinking outside the box.
SE371 Web Engineering
Credits: 3(3,0,1) Prerequisites: CS210
This course covers the major aspects of full-stack web applications development. Full-stack web
development involves the design and development of front-end and back-end applications in web
frameworks. The course starts with a short introduction on the web applications architecture and
underlying technologies, including HTML (focus on HTML 5), Cascading Style Sheets (CSS) and
JavaScript for client-side scripting. The course then proceeds to cover server side Web application
development in depth, including the multi-tier development model (data tier, business tier,
presentation tier), web database development, authentication, navigation, working with XML,
state management, caching, ...etc.
SE381 Embedded Software Engineering
Credits: 3 (3,0,1) Prerequisites: SE322
This course discusses software practice and methods for embedded systems, focused
around state machines as a unifying formalism for understanding software, hardware, and
systems. It also discusses embedded software requirements, specification, analysis, principles of
embedded software architecture and design, design of concurrent systems, and testing and
analysis techniques for embedded systems.
243 PSU UNDERGRADUATE BULLETIN

