Ryerson University:CRESSET
This course will focus on Language-Based Security, an area of research that studies how to enforce application-level security using program analysis techniques. This includes techniques used to automate the detection\prevention of security vulnerabilities caused by coding malpractice or security-policy misconfigurations; the study of the design and implementation of secure programming languages; and techniques used to enforce correct usage of security Application Programming Interfaces. 1 Credit.
Prerequisite: Graduate Course.
Semesters Taught: Fall 2018, Fall2019, F2020.
Topics include: Issues in software engineering; software specification; system modelling; requirements specification; validation and prototyping; formal specification; object-oriented design; function-oriented design; user-interface design; CASE; quality assurance.
Prerequisite: None.
Semesters Taught: Winter 2018
This course will discuss how to build Big Data analytic and transactional systems. The course will provide introduction to the theory and practice of large-scale software systems. We will focus on defining Big Data properties and architecting the systems to accommodate these properties. In addition, we will cover quality assurance of such systems, as well as management (risk estimation, planning, team management, etc.).
Prerequisite: CPS 406 and CPS 420 and CPS 510.
Semesters Taught: Winter 2018, Fall2018, F2019.
This course introduces the topics of verification and validation of computer software. Material covered may include statistical and functional approaches to testing, test data analysis, testability, static analysis techniques, dynamic analysis techniques, selected state-of-the-art results, and real-world applications.
Prerequisite: (CPS 406 and CPS 420) or (CPS 406 and MTH 210).
Semesters Taught: Winter 2019, Winter2020.
Essential methods for the Systematic approach to the development, operation, maintenance, and retirement of Software. Software Life Cycles, process modelling, configuration management, managing Software quality, requirements analysis, specification, verification and validation, Software design, implementation, testing and maintenance. Software Tools, CASE tools and documentation. (2 hr. Lab every other week).
Prerequisite: CPS 406.
Semesters Taught: Fall 2020.
The C programming language is used to develop good programming techniques. Topics covered include: C program form, language statements, pseudo-code algorithmic representation, numeric data types, flow of control with selection and repetition, standard C libraries, functions and call modes, arrays, pointers, sorting, matrix operations, character and string data types, dynamic storage, structures and linked lists, file I/O. Only regular first year students from the Faculty of Engineering, Architecture, and Science may preregister for this course. 1 Credit.
Prerequisite: None.
Semesters Taught: Winter2021.
(SE 412) Software Testing and Quality Assurance (F2014, F2015, F2016).
(SE 445) Information and Software Security (F2014, S2016, S2017).
(SE 490/SE491) Capstone Project1&2 (F2014, F2015, F2016).
(SE 421) Software Maintenance and Config. Management (S2015, S2016, S2017).
(SE 416) Mobile Application Development (S2015, F2015, F2016).
(SE 120) Object-Oriented Programming (S2015).
(SE 323) Software Project management (S2016, S2017).
(Graduate Course, (CISC 839) Program Analysis for Cyber Security (Fall 2013).
(CISC / SOFT 327) Software Quality Assurance (F2012- Guest lecturer).
Graduate Courses: (AMCS-291) Scientific Software Engineering (S2011): A graduate course that focuses on exploring software engineering techniques and methods designed and validated to be used specifically for the development and maintenance of scientific software; all such techniques and methods take into account the characteristics salient to the environment and products of scientific software development. .
(1002111) Object Oriented Programming (1): O-O C++ (1st year level).
(1002211) Object Oriented Programming (2): Java. (2rd year level).
(1001432) Compilers Construction. (4th year level).
(1001211) Visual Programming: Visual Basic.Net. (2nd year level).
(1002281) Introduction to Databases. (2nd year level).
(1002384) Advanced Databases (3rd year level).
(1002361) Web Programming. (3rd year level).
(1001311) Multimedia programming (3rd year level).
Student Graduation Project Supervisor: Developing an E_Learning system Portal like Blackboard and WebCT- using C# and ASP.Net and SQL Server 2000 as a DBMS (4th year level)..