|
COURSES
Undergraduate Courses
¤
ENCM519.46 (Winter,
2006/07/08)
- Software Engineering Processes for Computer Engineers
¤ ENEL413
(Winter,
2000/01)
-
Software Metrics
¤
ENGG335
(Fall,
2002/03) -
Computing for Engineers II (Labs)
Graduate Courses
(Wednesdays,
Oct. 21 - Dec. 2, 2009)
-
The U of C Software Engineering
Courses Web Site
Courses Outlines
¤
SENG523
(Fall) - Formal Methods
H(3-2),
Monday/Wednesday/Fridays
(13:00 - 13:50pm), ICT
518
Introduction:
the formal approach to software development and software
engineering, software system specification, and software as a
mathematical entity; Mathematical foundations of software
engineering: mathematical logic, set theory, FSMs, and
denotational mathematics; Real-Time Process Algebra (RTPA):
RTPA notations, the RTPA system modeling methodology, unified
data models, unified process models, component specifications,
ADT specifications, and system specifications, case studies on
system specifications and refinement; The Z method:
notation structure, types, schemata, case studies, and
object-Z; Light-weighted formal methods: UML.
Applications of formal methods: system architecture
modeling, system static and dynamic behaviors modeling, case
studies in different formal methods.

SENG
523
Outline
| Schedule
SENG
523
Website
¤
SENG401
(Winter)
-
Analysis and Design of Large-Scale Software II
H(3-2), Monday/Wednesday/Fridays,
ICT 114
Large-Scale Software Development by Software Engineering (SE):
Basic constraints of SE. Tackling SE constraints by
fundamental principles; Large-scale software analysis and
design. A fundamental framework of SE; Engineering Large-Scale
Software Development: Engineering foundations of SE. Generic
engineering principles for SE. Coordinative work organization
theory for SE;
Design,
Modeling, and Analysis of Large-Scale Software Systems:
Classic mathematics for SE. Denotational mathematics for SE.
Real-Time Process Algebra (RTPA). The RTPA methodology for SE;
Case Study - Modeling a Telephone Switching System (TSS);
Essential Foundations of Large-Scale Software Development in
SE: Computational foundations of SE. Linguistics foundations
of SE. System science foundations of SE. Management science
foundations of SE. Cognitive informatics foundations of SE.
Economics foundations of SE. Sociology foundations of SE;
Software Industrial Organization; Perspectives on Software
Science.
¤
ENCM 519.46
(Winter) - Software Engineering
Processes for Computer Engineers

H(3-2), Monday/Wednesday/Fridays,
ICT-518
This is a new
course designed for computer and electrical engineers for
awareness of best practice in software engineering and the
inspiring theories behind them. It is recognized that computer
and electrical engineering students need to prepare for
sufficient software engineering knowledge, because the costs
and significance of modern computers systems have been
dominated by software since the 1990s.
This course is
developed based on matured undergraduate and graduate courses
and lectured by the author of the well established book on
Software Engineering Processes. The course covers principles
and engineering foundations of software engineering, system
science treatment of computer and software engineering,
hardware/software co-designs, system organization and
management theories, and current software engineering process
models. This course is lectured using Power Point
presentations, supplemented with light-weight weekly
assignments and well designed group lab projects. The course
materials are self-sufficient and no prerequisite is required.
It is believed that the future
academic and industrial leaders of computer and electrical
engineering are those who are well prepared with
hardware/software co-design capabilities. This is one of the
key objectives that include ENCM519.46 in the Computer and
Electrical Engineering programs.
ENCM 519.46
Outline

¤
SENG609.19
(Fall) -
Theoretical Foundations of Software Engineering
QI (3-0),
Wednesdays, 5:30 -8:30 pm, ICT516
Principles and constraints of software engineering
(SE):
Basic constraints of SE. Tackling SE constraints by
fundamental principles; Multidisciplinary foundations of SE;
Philosophical foundations of SE:
Philosophies of science and engineering. Formal reasoning
methodologies. SE philosophies;
Engineering foundations of SE:
Generic engineering principles for SE. Theory for SE
organization;
Mathematical foundations of SE:
Classic mathematics. Descriptive mathematics. Real-time
process algebra (RTPA);
Computational
foundations of SE:
Basic computation models. Data object modelling. Behavior
modelling. Program modelling. SE resources and processes
modelling;
Linguistics Foundations of SE:
Formal language theory. Formal syntaxes. Formal semantics.
Deductive semantics of RTPA. Applications of linguistics in
SE;
Informatics foundations of SE:
Classic and contemporary information theories. Cognitive
informatics. Informatics laws of software. Applications of
informatics in SE.

¤
SENG629
(Winter) - Software Engineering Standards and Models
QII (3-0),
Wednesdays, 5:30 - 8:30 pm, ICT516
Empirical
software engineering: Roles, Processes, Best practices,
Experience repository, Benchmarks, Standardization. Formal
description and algorithms of current software engineering
standards and models: The capability maturity model (CMM),
The ISO software quality system model (ISO 9001), The European
software process model (BOOTSTRAP), The ISO software
life-cycle process assessment standard (ISO 15504), and The
unified software engineering process reference model (SEPRM).
Case
studies. Trends and future development in software engineering
standardization.
¤
SENG609.26
(Fall) - Cognitive Informatics for Software Engineering
QII (3-0),
Mondays, 5:30 - 8:30 pm, ICT516
Overview:
Cognitive science, Information theories, Cognitive foundations
of the brain, Cognitive informatics (CI), Applications of CI
in software engineering. Cognitive models of the brain:
Neurophysiological foundations of cognition, The layered
reference model of the brain (LRMB), The computational model
of the brain, The cognitive model of the brain,
RTPA: The descriptive mathematics for CI.
Cognitive models of information representation in the
brain: The hierarchical neural cluster (HNC) model of
memory, The object-attribute-relation (OAR) model of internal
information representation, Formal description of cognitive
processes based on OAR and RTPA, The memory capacity of human
brain. Cognitive
informatics for software engineering (SE):
Informatics properties of software, Cognitive informatics laws
of SE, SE psychology, Software comprehension, SE skills and
experiences. Cognitive complexity of software: The
cognitive weights of software, The cognitive complexity of
software systems, Measurement of functional sizes of software
based on cognitive complexity, Case studies on software
cognitive complexity. Human traits and factors in SE:
Fundamental human traits and needs, The human factors in
engineering and socialization, The formal model of human
errors, Interaction between motivation and attitude in SE.
¤
SENG609.27
(Fall) - Empirical Foundations of Software Engineering
QII (3-0),
Wednesdays, 5:30 - 8:30 pm, ICT516
Overview:
Problems and approaches to SE,
Engineering foundations of SE, Empirical methodologies of SE,
Empirical foundations of SE. System
Science Foundation of SE: System
philosophies, System topology, System algebra, Principles of
system science, Software systems engineering.
Management Science Foundation of SE: Principles of
management science, Decision theories, Quality systems,
SE management. Economics Foundation of SE:
Principles of economics, economic models, economic
analyses, SE economics. Sociology Foundation of SE:
Principles of sociology, Social psychology, Theory of social
organization, Sociology and SE. Software Industry
Organization: The natural of the software industry, the
software maintenance crisis, Principles of industrial
organization, infrastructure of SE.
¤
SENG443
(Fall)
- Software Architectures
H(3-2), Monday/Wednesday/Fridays,
ICT 114
Introduction. Software architectural
engineering.
Software
architectural modeling.
Architectural description languages (I) – UML. Architectural
description languages (II) – RTPA. Software architectures:
Frameworks. Patterns. Components. Processes. Distributed
system architectures. Real-time system architectures. Built-in
test (BIT) architectures.
Project:
Modeling the architectures and behaviors of systems.
¤
SENG421
(Fall) - Software Engineering Metrics
H(3-2), Monday/Wednesday/Fridays,
MS-527
Software engineering measurement and metrics;
Foundations of measurement: measurement theory, graph
theory, computing complexity theory, statistics;
Models of software engineering measurement:
Halstead’s
software science, McCabe’s cyclomatic complexity,
Albrecht’s function points, Boehm’s
COCOMO model, Basili’s GQM paradigm, Humphrey’s
process capability, Wang’s SE
process benchmarking; Software product measurement:
size, effort,
productivity, costs, architectural properties, complexity,
defects, quality;
Software engineering process measurement:
design,
implementation, test, maintenance, reuse, management, SQA,
process capability, project measurement;
Predictive measurement; future development.
|