Βι¶ΉΣ³»­

Center of Academic Excellence in Cyber Defense (CAE-CD)

Program information for the Bachelor of Science in Computer Science & Engineering with a minor in Cybersecurity:

CAE-CD Program of study: Courses and curriculum

CAE-CD Program of study courses

The following Computer Science & Engineering major courses are required:

  • CPE 201 Digital Design
  • CPE 301 Embedded Systems Design
  • CPE 400 Computer Communication Networks
  • CS 135 Computer Science I
  • CS 202 Computer Science II
  • CS 219 Computer Organization
  • CS 302 Data Structures
  • CS 326 Programming Languages, Concepts and Implementation
  • CS 365 Mathematics of Computer Science
  • CS 425 Software Engineering
  • CS 426 Senior Projects in Computer Science
  • CS 446 Principles of Operating Systems
  • CS 456 Automata and Formal Languages
  • CS 457 Database Management Systems
  • CS 477 Analysis of Algorithms

The following courses are required for the minor in Cybersecurity:

  • CS 151 Introduction to Cybersecurity
  • CS 252 Digital Forensics Fundamentals
  • CS 445 Internet Security
  • CS 450 Fundamentals of Integrated Computer Security
  • CS 453 Mobile Computing Security and Privacy
  • CS 454 Reliability and Security of Computing Systems

The following courses are CAE-CD Knowledge Unit (KU)-aligned courses:

  • CSE major courses:
    • CPE 400 Computer Communication Networks
    • CS 202 Computer Science II
    • CS 425 Software Engineering
    • CS 446 Principles of Operating Systems
    • CS 456 Automata and Formal Languages
    • CS 477 Analysis of Algorithms
  • Cybersecurity minor courses:
    • CS 151 Introduction to Cybersecurity
    • CS 252 Digital Forensics Fundamentals
    • CS 445 Internet Security
    • CS 450 Fundamentals of Integrated Computer Security
    • CS 453 Mobile Computing Security and Privacy
    • CS 454 Reliability and Security of Computing Systems

CAE-CD Program of study: Program-level outcomes

Our graduates will have the ability to:

  • Identify, formulate, analyze and solve complex computing or engineering problems by applying principles of computing, engineering, science and mathematics.
  • Design, implement and evaluate a computing or engineering solution to meet a given set of requirements, with consideration of public health, safety and welfare as well as global, cultural, social, environmental and economic factors.
  • Communicate effectively in a variety of professional contexts, with a range of audiences.
  • Recognize professional responsibilities and make informed judgments in engineering and computing practice based on legal and ethical principles, considering the impact of solutions in global, economic, environmental and societal contexts.
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline, creating a collaborative and inclusive environment, establishing goals, planning tasks and meeting objectives.
  • Apply computer science theory and software development fundamentals to produce computing-based solutions.
  • Apply security principles and practices to maintain operations in the presence of risks and threats.

CAE-CD Course outcomes

CPE 201
Our students will have the ability to:

  • Design and implement in a simulator a circuit using three different technologies. They assess their designs based on environmental impact in terms of maintenance and disposal, and on economic factors such as cost.
  • Analyze, design and develop combinational circuits in modern digital design systems.

CPE 301
Our students will have the ability to:

  • Work in a group of two or three to design and implement an evaporative cooler.
  • Clearly describe the process and challenges encountered when designing and implementing an embedded system when working in a group.
  • Consider the environment and application of embedded systems they might design for different purposes.

CPE 400
Our students will have the ability to:

  • Solve complex computing problems which require the application of engineering and science concepts, computing and math principles through analysis of networking constraints, packet transmissions and simulations.
  • Make informed judgments about packet sniffer tool like Wireshark and are able to consider the impact based on technology, legal and ethical principles.
  • Design and conduct the experimentation, collect data from the experiment and interpret the data. The corresponding results are helping them to use their engineering judgement to draw conclusions about the formal concepts.
  • Understand how the historical evolution of TCP implementation has been driven by the tradeoffs.

CS 135
Our students will have the ability to:

  • Make informed judgements on giving proper credit for intellectual property, as specified in the Code of Ethics and Professional Conduct and the Software Engineering Code of Ethics and Professional Practice for the Association for Computing Machinery.
  • Analyze a coding assignment requiring students to assess each other’s skills as they are learned throughout the semester.
  • Design and implement various computer programs which require application of computer science and software development concepts.

CS 202
Our students will have the ability to:

  • Design, implement and evaluate algorithms relevant in data-intensive operations such as sorting and searching in data containers. The students are additionally asked to design a testing solution to critically assess the benefits/drawbacks of their own implementation in contrast to externally provided ones in terms of runtime performance, while ensuring that their results are reliable, repeatable and verifiable.
  • Recreate advanced software-based paradigms (such as smart pointers) leveraging their knowledge of fundamental functionalities pertaining to memory management, object lifetimes, object construction and destruction sequences.
  • Design test drivers for software (classes), in order to demonstrate how it either works appropriately or expose its deficiencies by analyzing the program runtime behavior.

CS 219
Our students will have the ability to:

  • Demonstrate the ability to evaluate and reduce system power consumption through judicious use of optimal assembly language coding constructs.
  • Perform independent research to learn about the instruction set architecture (ISA) of a microprocessor that is not covered or described by course materials. They compare that ISA to an ISA that is described in the course.

CS 302
Our students will have the ability to:

  • Make use of the fundamental concepts learned in this course relating to data structures, to design and implement software projects demanding complex engineering and mathematical solutions using the utilized language (C++).
  • Relate theoretical concepts of computational cost analysis with algorithm design so as to make solutions that are efficient and real-time as often required for them to be viable, economic and with respect to safety needs.
  • Demonstrate their ability to communicate data structures concepts and techniques effectively by writing and submitting reports along with their programming assignments.

CS 326
Our students will have the ability to:

  • Make use of the fundamental concepts learned in this course in order to design and implement a software project using one of the new languages learned.
  • Investigate/discover how the historical evolution of programming languages has been driven by the tradeoffs involved in language design and implementation, as illustrated by case studies from various programming languages.

CS 365
Our students will have the ability to:

  • Apply computer science theory to solve problem in a course project and write codes to produce the solutions.
  • Investigate different methods for counting problems, discover their advantages/disadvantages, then choose the most appropriate one while motivating the choice.

CS 425
Our students will have the ability to:

  • Recognize professional responsibilities and apply their informed judgement in developing software engineering solutions that take into consideration legal and ethical principles.
  • Collaboratively develop software solutions by working together on four project parts (project concept; requirements specification; design; and prototype development and evaluation), each part with specific goals/objectives and tasks organized in teams of four or five people.
  • Work in teams and apply software engineering principles, methods and tools to develop a prototype software application that emphasizes useful capabilities and features and good engineering design.

CS 426
Our students will have the ability to:

  • Formulate, analyze and solve complex engineering problems in order to design and implement a software-intensive project using the knowledge and skills acquired in their B.S. in Computer Science &nd Engineering program at the Βι¶ΉΣ³»­. 
  • Analyze and specify the requirements, create related designs, evaluate requirements and designs and implement the designs for a software engineering solution (a software- intensive product) while taking in consideration public needs such as health, safety and welfare as well as global, cultural, social, environmental and economic factors.
  • Clearly and correctly describe their senior projects for both technical audiences and the general public.
  • Recognize professional responsibilities and apply their informed judgment in developing software-intensive solutions (software products) that take into consideration legal and ethical principles as well as global, economic, environmental and societal contexts.
  • Collaboratively develop software solutions by working together on four project parts (project concept; requirements specification; design; and prototype development and  evaluation), each part with specific goals/objectives and tasks.

CS 446
Our students will have the ability to:

  • Solve complex computing problems that require the application of computing, engineering, science and math principles.
  • Make informed judgments based on legal and ethical practices through learned concepts in class by considering the impact of the solutions in global, economic and societal contexts.
  • Analyze different operating systems' file system algorithms using various design criteria discussed in class. Students must experiment with bash shells and develop the correct script.

CS 456
Our students will have the ability to:

  • Prove the limitations of computability by showing that while Turing machines are infinitely countable, languages are not.
  • Customize and modify an existing method for use on a new application, applying the new methodology and articulating their choice.

CS 457
Our students will have the ability to:

  • Design, implement and evaluate data management functionalities on multiple relational tables using the SQL interface.
  • Design and implement a transaction processing system among multiple users who are concurrently managing the shared data using SQL.

CS 477
Our students will have the ability to:

  • Identify, formulate, solve and analyze complex problems with practical, real world application, which requires the use of principles from algorithm design techniques, algorithm performance analysis, engineering, science and mathematics
  • Design, implement and evaluate the performance (efficiency in memory and processing time) of algorithms that solve complex problems with real-world practical application that require optimization with respect to a range of criteria that involve global and economic factors.

CS 151
Our students will have the ability to:

  • Assess, discuss and formulate a response to ethical questions based on cybersecurity breach scenarios involving legal and ethical issues.
  • In a team, be capable of researching topics in cybersecurity, formulating arguments, assigning tasks and writing a research paper on an assigned topic.

CS 252
Our students will have the ability to:

  • Create a breach scenario; assess, discuss and formulate a proper forensic procedures response using ethical and legal principles obtained, in part, from NIST guidelines.
  • Be capable of acquiring forensics knowledge and tools, subsequently applying those to a data-breach scenario utilizing forensics images and sound investigative techniques. Students will learn and use a new tool, Magnet Forensics, to help find and analyze the forensics artifacts.

CS 445
Our students will have the ability to:

  • Make informed judgments about threats associated with cybersecurity and will be able to consider the impact based on global, economic and societal contexts.
  • Design and analyze the performance of various networking solutions in modern computer networks. Each experiment and the corresponding results will help them to use their engineering judgement to draw conclusions and formalize the next set of experimentation.

CS 450
Our students will have the ability to:

  • Assess an organization’s security policies to determine if they are adequate to protect the organization’s assets and user privacy.
  • after given a cybersecurity scenario, assess risk, vulnerabilities and potential impacts, including economic impact to the company as well as legal compliance and social impact on customers. Students also will be asked to design solutions to mitigate those impacts.

CS 453
Our students will have the ability to:

  • Work individually or in a team to organize a presentation that effectively describes the results of their final project, deliver the presentation in a professional manner and respond to questions.
  • Formulate ways to adapt strategies and techniques described in the course so they can be used to perform an appropriate analysis of a mobile app.

CS 454
Our students will have the ability to:

  • Use mathematical theory of encryption/decryption, e.g., symmetric and asymmetric cryptography, to protect the integrity and confidentiality of communication networks and system storage.
  • Design experiments to evaluate the pros and cons of current state-of-the-art cryptography algorithms.