|
For more information about these courses, see the Department of Computer Science: ucalgary.ca/cpsc/.
|
|
Software Engineering
300
|
Introduction to Software Engineering
|
|
Introduction to the development and evolution of software. Covers key conceptual foundations as well as key methods and techniques used in the different phases of the software lifecycle. Emphasis on both technical and soft skills needed for high quality software and software-based products developed in teams.
Course Hours:
3 units; (3-2T)
Prerequisite(s):
Computer Science 319 or 331.
Antirequisite(s):
Credit for Software Engineering 300 and any of Software Engineering 301, 311, 403, 411, Computer Science 301, 333, 451 or Software Engineering for Engineers 480 will not be allowed.
|
back to top | |
|
|
|
|
Software Engineering
471
|
Software Requirements Engineering
|
|
Introduction to elicitation, modelling, expression and validation of the requirements. Techniques and methodologies for requirements engineering. Applications of requirements engineering to the management of the software development lifecycle.
Course Hours:
3 units; (3-2)
Prerequisite(s):
Computer Science 319 or 331 or Software Engineering for Engineers 409.
Also known as:
(formerly Software Engineering for Engineers 471)
|
back to top | |
|
Software Engineering
499
|
Introductory Topics in Software Engineering
|
|
Special topics at an introductory level on software development methods, technologies, or tools.
Course Hours:
3 units; (3-2)
Prerequisite(s):
Consent of either the Department of Electrical and Computer Engineering or the Department of Computer Science.
Notes:
Consult Department (Computer Science or Electrical and Computer Engineering) for details regarding offerings in the upcoming academic year.
MAY BE REPEATED FOR CREDIT
|
back to top | |
|
Software Engineering
501
|
Advanced Topics in Software Engineering
|
|
Special topics at an advanced level on software development methods, technologies, or tools.
Course Hours:
3 units; (3-2)
Prerequisite(s):
Consent of either the Department of Electrical and Computer Engineering or the Department of Computer Science.
Notes:
Consult Department (Computer Science or Electrical and Computer Engineering) for details regarding offerings in the upcoming academic year.
MAY BE REPEATED FOR CREDIT
|
back to top | |
|
|
|
Software Engineering
515
|
Agile Software Engineering
|
|
Investigation and application of agile software development practices.
Course Hours:
3 units; (3-2)
Prerequisite(s):
One of Software Engineering 401, 403, 411, or 443.
|
back to top | |
|
Software Engineering
521
|
Software Reliability and Software Quality
|
|
The principles, processes, and applications of software reliability and software quality assurance.
Course Hours:
3 units; (3-2)
Prerequisite(s):
Software Engineering 437 or 421.
Antirequisite(s):
Credit for Software Engineering 521 and 637 will not be allowed.
|
back to top | |
|
|
Software Engineering
533
|
Software Performance Evaluation
|
|
Analyzing quality requirements of large-scale software. Performance analysis, testing, and tuning techniques. Evaluating software scalability. Capacity planning methodologies. Issues related to safety, security, and availability of software.
Course Hours:
3 units; (3-2)
Prerequisite(s):
Computer Science 457 and one of Software Engineering 300 or 301 or Software Engineering for Engineers 480.
Also known as:
(formerly Software Engineering for Engineers 533)
|
back to top | |
|
Software Engineering
541
|
Fundamentals of Software Evolution and Reuse
|
|
Phenomena and approaches involved in the evolution and reuse of large-scale software, including design for modifiability and tool support. Strengths and weaknesses of industrially-current techniques as well as recent research results.
Course Hours:
3 units; (3-2T)
Prerequisite(s):
Software Engineering 300 or 301 or Software Engineering for Engineers 480.
Antirequisite(s):
Credit for Software Engineering 541 and 641 will not be allowed.
Also known as:
(formerly Software Engineering 531)
|
back to top | |
|
Software Engineering
550
|
Engineering Large Scale Analytics Systems
|
|
Sources and characteristics of large scale data, i.e., "big data", large scale data analysis, benefits of large scale data analysis to various industry domains, programming paradigms and middleware technologies for scalable data analysis, algorithms that enable large scale data processing, application of large scale data algorithms in selected application domains, e.g., Web user behaviour analysis and text processing, analytics frameworks.
Course Hours:
3 units; (3-2)
Prerequisite(s):
Software Engineering 300 or Software Engineering for Engineers 480.
Antirequisite(s):
Credit for Software Engineering 550 and 501.05 will not be allowed.
|
back to top | |
|
|
Software Engineering
605
|
Industrial Topics in Software Engineering
|
|
A study of practical approaches of industrial relevance to students specializing in Software Engineering.
Course Hours:
1.5 units; (3-1)
MAY BE REPEATED FOR CREDIT
|
back to top | |
|
Software Engineering
607
|
Special Topics in Software Engineering
|
|
A study of problems of particular interest to students specializing in Software Engineering.
Course Hours:
3 units; (3-1) or (3-0)
MAY BE REPEATED FOR CREDIT
|
back to top | |
|
Software Engineering
609
|
Special Topics in Software Engineering
|
|
A study of problems of particular interest to students specializing in Software Engineering.
Course Hours:
1.5 units; (3-1)
MAY BE REPEATED FOR CREDIT
|
back to top | |
|
Software Engineering
611
|
Requirements Engineering I
|
|
The elicitation, modelling, expression, and validation of requirements.
Course Hours:
1.5 units; (3-1)
|
back to top | |
|
|
Software Engineering
622
|
Software Release Planning
|
|
Product release planning covers systematic methods, tools and techniques for defining the functionality of a sequence of product releases in incremental development. The planning and re-planning is established as a systematic process trying to optimize resources available towards the functionality most requested by customers and stakeholders.
Course Hours:
3 units; (3-1)
Antirequisite(s):
Credit for Software Engineering 622 and 607.25 will not be allowed.
|
back to top | |
|
Software Engineering
627
|
Software Engineering Decision Support
|
|
Provides methodological foundations of software engineering decision-making and how to apply them to make better decisions about processes, products, and resources as well as for selection of tools and techniques.
Course Hours:
3 units; (3-1)
|
back to top | |
|
Software Engineering
629
|
Software Engineering Standards and Models
|
|
Formal description of algorithms for current software engineering standards and models. Trends and future development in software engineering standardization.
Course Hours:
1.5 units; (3-0)
Antirequisite(s):
Credit for Software Engineering 629 and 609.17 will not be allowed.
|
back to top | |
|
Software Engineering
637
|
Dependability and Reliability of Software Systems
|
|
Principles of software dependability techniques, and techniques to improve and predict software reliability.
Course Hours:
3 units; (3-0)
Antirequisite(s):
Credit for Software Engineering 637 and 521 will not be allowed.
|
back to top | |
|
Software Engineering
639
|
Advanced Software Testing
|
|
Advanced techniques, tools and concepts in software testing including: Agile testing, acceptance testing, GUI testing, test coverage analysis, automated testing, and new developments in testing research.
Course Hours:
3 units; (3-0)
Antirequisite(s):
Credit for Software Engineering 639 and 607.22 will not be allowed.
|
back to top | |
|
Software Engineering
641
|
Software Evolution and Reuse
|
|
Phenomena and approaches involved in the evolution and reuse of large-scale software, including design for modifiability and tool support. Strengths and weaknesses of industrially-current techniques as well as recent research results.
Course Hours:
3 units; (3-0)
Antirequisite(s):
Credit for Software Engineering 641 and 541 will not be allowed.
Also known as:
(formerly Computer Science 601.33)
|
back to top | |
|
Software Engineering
643
|
Automated Software Engineering
|
|
Discusses the main techniques for automating software engineering tasks such as requirement analysis, design, development, and testing. The covered automation techniques are based on concepts from data science, search-based software engineering, and model-driven software engineering. Focuses on the fundamental techniques and algorithms in each category with examples.
Course Hours:
3 units; (3-0)
Antirequisite(s):
Credit for Software Engineering 643 and 607.26 will not be allowed.
|
back to top | |
|
Software Engineering
652
|
Software Engineering Project
|
|
A project in either software development or software best practice and experience.
Course Hours:
6 units; (3S-0)
Prerequisite(s):
Consent of the Department.
Antirequisite(s):
Credit for Software Engineering 652 and Electrical Engineering 698 will not be allowed.
|
back to top | |
|
|