Research  Academic Activities  Publications  Teaching  Graduate Students   Recent Books  ICIC  HOME 







Undergraduate Courses


     ¤  SENG401 (Fall 2007/10/11)                      - Large-Scale Software Design and Analysis (see B/B)    

     ¤  ENGG407 (Winter 2011/12/13)                 - Numerical Methods for Engineers (see B/B)

     ¤  SENG523 (Winter 2001/.../08)                  - Formal Methods      

     ¤  SENG443 (Fall 2003/.../07)                        - Software Architectures   

     ¤  SENG421 (Fall 2001/.../07)                      - Software Engineering Metrics 

     ¤  ENEL413 (Winter 2000/01)                          - Software Metrics  

     ¤  ENSF598 (Fall 2000/01/02/03)                 - Software Engineering Individual Research Project

         ENSF599 (Fall/Winter 2000/01/02/03)      - Software Engineering Individual Project Course

     ¤  ENGG335 (Fall 2002/03)                              - Computing for Engineers II (Labs)



Graduate Courses


     ¤  SENG609.19 (Fall 2001/.../12)                 - Theoretical Foundations of Software Engineering  

     ¤  SENG629 (Winter 2001/.../12)                 - Software Engineering Standards and Models

     ¤  SENG 609.27 (Fall 2005/.../10)                  - Empirical Foundations of Software Engineering

     ¤  SENG 609.26 (Fall 2003/.../10)                - Cognitive Informatics for Software Engineering   

     - The U of C Software Engineering Courses Web Site




Courses Outlines

¤  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; Mutidisciplinary 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.


¤  SENG609.17 (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.

¤  SENG523 (Winter) - Formal Methods

     H(3-2), Monday/Wednesday/Fridays (11:00 - 11:50am)ICT 518


Introduction: formal and empirical approaches to software development and software engineering, software as an mathematical entity. Mathematic description of software: logics (static behaviors), algebras (dynamic behaviors), the Real-Time Process Algebra (RTPA). Typical formal methods: Algebra-based (CSP, RTPA), Model-based (Z, Object-Z). Light formal methods: Extended UML, and SDL. Applications of formal methods: system behaviors description, specification, refinement, proof of correction, measurement.



¤  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.