Courses Taught

Upcoming Spring 2021 Courses
  • CS 2263 Advanced Object-Oriented Programming - Advanced software development with an object-oriented focus. Design, implementation, and testing of several large programs using current technologies. Includes a discussion of the philosophy, application, and examples of object-oriented concepts and techniques; comprehensive survey of software engineering design patterns. PREREQ: CS 2235.

  • CS 4458 Computer Graphics - Graphics, transformation matrices, lighting models, object hierarchies, visible surface determination, ray tracing. PREREQ: MATH 2240 and CS 4412.

  • CS 5558 Computer Graphics - Graphics, transformation matrices, lighting models, object hierarchies, visible surface determination, ray tracing. Specific, evaluated graduate-level activities and/or performances are identified in the course syllabus.

  • CS 6625 Software Language Engineering - An exploration of the current trends and research associated with various aspects of software language engineering. This includes the design and representation of grammars, parsers, interpreters, and compilers and the engineering processes in use to develop such tools.
Upcoming Fall 2020 Courses
  • CS 3321 Software Engineering - Techniques and tools for conceiving, designing, testing, deploying, maintaining, and documenting large software systems with particular focus on the structured analysis and design phases including task analysis, human factors, costs, and project and team management. PREREQ: CS 2263.

  • INFO 3307 Systems Analysis and Design - Develops systems analysis skills using proven techniques, prototyping, and structured analysis and design phases of the systems development life cycle. The course emphasizes Secure Software Design, which includes secure design elements, software architecture, secure design review, and threat modeling. Requirements gathering is emphasized, including secure software requirements gathering to capture all of the security requirements from various stakeholders and understand the sources and processes needed to ensure a more effective design. PREREQ: INFO 1181/CS 1181 or INFO 3303.

  • INFO 5307 Intermediate Systems Analysis and Design - Provides a general understanding of the systems development life cycle and develops the analytical skills required to thoroughly understand a problem and formulate the optimal solution. Projects will require the student to use process modeling techniques to assist in the analysis and design process. Requirements gathering is emphasized. The analysis and design of web-based systems is included.

  • CS 6620 Empirical Software Engineering -

  • CS 4422 Software Testing - An introduction to the theory and techniques used in software testing and formal design method. Includes topics related to code coverage, program analysis, test design, and advanced concepts such as mutation testing, metamorphic testing, and test automation. The second half of the course focuses on formal modelling techniques for the specification, verification and validation of software designs. PREREQ: CS 3321.

  • CS 5522 Software Testing - An introduction to the theory and techniques used in software testing and formal design method. Includes topics related to code coverage, program analysis, test design, and advanced concepts such as mutation testing, metamorphic testing, and test automation. The second half of the course focuses on formal modelling techniques for the specification, verification and validation of software designs.
Upcoming Spring 2020 Courses
  • CS 2263 Advanced Object-Oriented Programming - Advanced software development with an object-oriented focus. Design, implementation, and testing of several large programs using current technologies. Includes a discussion of the philosophy, application, and examples of object-oriented concepts and techniques; comprehensive survey of software engineering design patterns. PREREQ: CS 2235.

  • CS 4422 Software Testing and Formal Methods - An introduction to the theory and techniques used in software testing and formal design method. Includes topics related to code coverage, program analysis, test design, and advanced concepts such as mutation testing, metamorphic testing, and test automation. The second half of the course focuses on formal modelling techniques for the specification, verification and validation of software designs. PREREQ: CS 3321.
Fall 2019 Courses
  • CS 3321 Software Engineering - Techniques and tools for conceiving, designing, testing, deploying, maintaining, and documenting large software systems with particular focus on the structured analysis and design phases including task analysis, human factors, costs, and project and team management. PREREQ: CS 2263.

  • INFO 3307 Systems Analysis and Design - Develops systems analysis skills using proven techniques, prototyping, and structured analysis and design phases of the systems development life cycle. The course emphasizes Secure Software Design, which includes secure design elements, software architecture, secure design review, and threat modeling. Requirements gathering is emphasized, including secure software requirements gathering to capture all of the security requirements from various stakeholders and understand the sources and processes needed to ensure a more effective design. PREREQ: INFO 1181/CS 1181 or INFO 3303.

  • INFO 5307 Intermediate Systems Analysis and Design - Provides a general understanding of the systems development life cycle and develops the analytical skills required to thoroughly understand a problem and formulate the optimal solution. Projects will require the student to use process modeling techniques to assist in the analysis and design process. Requirements gathering is emphasized. The analysis and design of web-based systems is included.

  • CS 2235 Algorithms and Data Structures - Implementation, usage, and design concerns of important data structures and their operations. Implementation and discussion of basic search and sorting algorithms. Discussion will include both O(n log n) and linear sorting algorithms. Incorporates aspects of time complexity and asymptotic analysis of algorithms. Students will be required to develop small to medium sized programs. PREREQ: CS 1181.

  • CS 4458 Computer Graphics - Graphics, transformation matrices, lighting models, object hierarchies, visible surface determination, ray tracing. PREREQ: MATH 2240 and CS 4412.
Spring 2019 Courses
  • CS 3308 Data Structures and Programming - Introduction to data structures and their associated algorithms. Abstract data types, linked lists, stacks, queues, trees. Pointers. Sorting and searching. Elementary threading. Extensive programming exercises and projects. PREREQ: CS 1182 or INFO 1182 and MATH 1143 or MATH 1144 or MATH 1147 or MATH 1170 or equivalent.

  • CS 3321 Software Engineering - Techniques and tools for conceiving, designing, testing, deploying, maintaining, and documenting large software systems with particular focus on the structured analysis and design phases including task analysis, human factors, costs, and project and team management. PREREQ: CS 3308.

  • INFO 3307 Systems Analysis and Design - Develops systems analysis skills using proven techniques, prototyping, and structured analysis and design phases of the systems development life cycle. The course emphasizes Secure Software Design, which includes secure design elements, software architecture, secure design review, and threat modeling. Requirements gathering is emphasized, including secure software requirements gathering to capture all of the security requirements from various stakeholders and understand the sources and processes needed to ensure a more effective design. PREREQ: INFO 1181/CS 1181 or INFO 3303.

  • INFO 5307 Intermediate Systems Analysis and Design - Provides a general understanding of the systems development life cycle and develops the analytical skills required to thoroughly understand a problem and formulate the optimal solution. Projects will require the student to use process modeling techniques to assist in the analysis and design process. Requirements gathering is emphasized. The analysis and design of web-based systems is included.
Fall 2018 Courses
  • CS/INFO 1181 Programming and Computer Science/Informatics I - Problem solving methods and algorithm development with an emphasis on programming style. Secure software design/coding concepts for resilient software. Equivalent to INFO 1181. Satisfies Objective 7 of the General Education Requirements. PRE-or-COREQ: MATH 1143 or MATH 1147.

  • INFO 3307 Systems Analysis and Design - Develops systems analysis skills using proven techniques, prototyping, and structured analysis and design phases of the systems development life cycle. The course emphasizes Secure Software Design, which includes secure design elements, software architecture, secure design review, and threat modeling. Requirements gathering is emphasized, including secure software requirements gathering to capture all of the security requirements from various stakeholders and understand the sources and processes needed to ensure a more effective design. PREREQ: INFO 1181/CS 1181 or INFO 3303.

  • INFO 5307 Intermediate Systems Analysis and Design - Provides a general understanding of the systems development life cycle and develops the analytical skills required to thoroughly understand a problem and formulate the optimal solution. Projects will require the student to use process modeling techniques to assist in the analysis and design process. Requirements gathering is emphasized. The analysis and design of web-based systems is included.