Resources

Learning Objects:

Area: Introduction to Programming (CS1)

  • Programming and Coding Standards

    • Number: CS1-CS-001
    • Description: Coding style for CS1 Course.
  • Debugging in NetBeans IDE

    • Number: CS1-DB-001
    • Description: Present different types of errors and gain an understanding on the process for debugging them.
  • Fixing Programming Errors in NetBeans

    • Number: CS1-DB-002
    • Description: Identify and fix different types of programming errors when using the NetBeans IDE.
  • Advanced Debugging Techniques in NetBeans IDE

    • Number: CS1-DB-003
    • Description: Explore debugging techniques such as Step Into expression, adding Watchers, and setting Conditional Breakpoints with the NetBeans IDE.
  • Understanding How Arrays Work

    • Number: CS1-DS-001
    • Description: General concept of Arrays in Java.
  • Designing Graphical User Interfaces in NetBeans

    • Number: CS1-GUI-001
    • Description: Overview of the NetBeans GUI Builder and creating simple GUI programs.
  • Hand Tracing Method Calls

    • Number: CS1-HT-001
    • Description: Hand tracing the execution of method calls.
  • Hand Tracing Sequential Calls

    • Number: CS1-HT-002
    • Description: Hand tracing the execution of sequential code.
  • Hand Tracing Selection Construct

    • Number: CS1-HT-003
    • Description: Hand tracing the execution of selection constructs and guards.
  • Understanding Pair Programming

    • Number: CS1-PP-001
    • Description: Presents Pro's and Con's of Pair Programming.
  • Unit Testing for CS1 Courses

    • Number: CS1-UT-001
    • Description: CS1 students will be able to describe the basics of unit testing and to write a unit test case for a Java method.
  • Version Control in NetBeans IDE

    • Number: CS1-VC-003
    • Description: Introduction to version control with NetBeans.

Area: Cybersecurity (CSY)

  • Introduction to Security

    • Number: CSY-001
    • Description: Given no prior knowledge of security concepts undergraduate juniors will be able to identify core security concepts with 80% accuracy.
  • Introduction to Cybersecurity

    • Number: CSY-002
    • Description: Introduction to cybersecurity concepts.
  • Introduction to Cyber Abuse

    • Number: CSY-CA-001
    • Description: Given no prior knowledge of cyber abuse, a student will be able to describe cyber abuse with complete accuracy.
  • Social Media Abuse

    • Number: CSY-CA-002
    • Description: Given little to no prior knowledge of cyber abuse, a student will be able to describe social media abuse and distinguish it from other types of cyber abuse with complete accuracy.
  • Sextortion

    • Number: CSY-CA-003
    • Description: Given no prior knowledge of sextortion, a student will be able to describe it with complete accuracy.
  • Introduction to Cryptography

    • Number: CSY-BC-001
    • Description: This learning object will give an overview of cryptography. Undergraduate students will able to describe symmetric key cryptography including the basic concepts of stream and block ciphers.
  • Public Key Cryptography

    • Number: CSY-BC-002
    • Description: Given the knowledge of Introduction to Cryptography Learning Object, undergraduate students will be able to describe the basic functionalities of Public Key Cryptography(PKC).
  • Digital Certificates

    • Number: CSY-BC-003
    • Description: Given problem of a person who needs to ensure a secure online purchase, the student should be able to explain why establishing trust is a challenge, and how a user can prove their identity to a server, and how a server establishes its identity to the user.
  • PGP: Pretty Good Privacy

    • Number: CSY-BC-004
    • Description: Cybersecurity is the method of ensuring the confidentiality, integrity and availability (CIA) of information.
  • Denial-of-Service Attacks

    • Number: CSY-SMVT-001
    • Description: Given a limited to no knowledge of networking or cybersecurity, undergraduate juniors will be able to identify a denial of service attack, modes and categories of a denial of service attack with 80% accuracy.
  • Inside Threats

    • Number: CSY-SMVT-002
    • Description: Given a set of cybersecurity threats, the population familiar with digital devices will be able to identify an example of an insider threat, with 90% accuracy.
  • Introduction to Nmap

    • Number: CSY-STH-001
    • Description: Given a limited knowledge of networks and no prior knowledge of Nmap, undergraduate juniors will be able to identify the Nmap tool and use it in order to complete a full scan on scanme.nmap.org with complete accuracy.
  • Introduction to Zenmap

    • Number: CSY-STH-002
    • Description: Given a knowledge from the Introduction to Nmap Learning Object, undergraduate juniors will be able to identify and use the Zenmap tool to complete a full scan on scanme.nmap.org with complete accuracy.
  • Cybersecurity for Digital Citizens

    • Number: CSY-STH-003
    • Description: Given a set of circumstances undergraduate juniors shall be able to identify tools and practices which shall minimize their risk and protect themselves and their assets with an accuracy of 80 % or higher.

Area: Software Engineering (SWE)

  • Introduction to UML

    • Number: SWE-UML-001
    • Description: What is UML and the importance of it.
  • SOLID Principles

    • Number: SWE-OOP-001
    • Description: Design principles for better OOP programming.

Area: Software Testing (SWT)

  • Introduction to Software Testing

    • Number: SWT-001
    • Description: Introduction to the importance of software testing for producing high quality software.
  • Introduction to Software Testing 2

    • Number: SWT-002
    • Description: Introduction to importance of test case selection and cost of exhaustive testing.
  • Introduction to Software Testing 3

    • Number: SWT-003
    • Description: Introduction to different testing techniques.
  • Introduction to Integration Testing

    • Number: SWT-004
    • Description: Introduction to integration testing and its importance.
  • Black Box Testing

    • Number: SWT-BB-001
    • Description: Introduction to Black Box Testing techniques.
  • Black Box Testing 2

    • Number: SWT-BB-002
    • Description: Introduction to Input Space Partitioning, Boundary Value analysis, and Decision tables.
  • Black Box Testing 3

    • Number: SWT-BB-003
    • Description: In depth exploration of Boundary Value Analysis
  • Black Box Testing 4

    • Number: SWT-BB-004
    • Description: In depth analysis of Decision Tables for modeling business rules.
  • Equivalence Class Testing

    • Number: SWT-BB-101
    • Description: Introduction to equivalence class partitioning testing technique.
  • Equivalence Class Testing 2

    • Number: SWT-BB-102
    • Description: Introduction to designing equivalence classes that are independent and form a complete set.
  • Equivalence Class Testing 3

    • Number: SWT-BB-103
    • Description: Explore equivalence class testing of a method with multiple parameters.
  • White Box Testing

    • Number: SWT-WB-001
    • Description: Introduction to White Box Testing using Control Flow Graphs.
  • Introduction to Statement Coverage

    • Number: SWT-WB-002
    • Description: Introduction to statement coverage methodology for producing expected behavior.

Area: Tools

  • Introduction to NetBeans IDE

    • Number: IDE-NB-001
    • Description: Introduction to the NetBeans IDE.
  • Advanced Functions of NetBeans IDE

    • Number: IDE-NB-002
    • Description: Advanced features of the NetBeans IDE.

Tutorials:

Area: Testing Tools (TT)

  • Selenium

    • Number: TT-SYS-001
    • Description: Browser-based test automation tool.
  • SWAT

    • Number: TT-SYS-002
    • Description: The Simple Web Automation Toolkit (SWAT) is a library written in C# designed to provide an interface to interact with several different web browsers.
  • Robotium

    • Number: TT-SYS-003
    • Description: Robotium is an Android test automation framework that has full support for native and hybrid applications.
  • Rational Functional Tester

    • Number: TT-SYS-004
    • Description: Rational Functional Tester (RFT) is an automated functional testing and regression testing tool. It enables testers to automate tests resilient to frequent application user interface changes.
  • Junit

    • Number: TT-UT-001
    • Description: A unit testing framework for the Java programming language.
  • CPPUnit

    • Number: TT-UT-002
    • Description: A unit testing framework for the C++ programming language.
  • EclEmma

    • Number: TT-WB-001
    • Description: EclEmma is a free Java code coverage tool for Eclipse. It allows you to automatically launch and analyze JUnit test runs from within the Eclipse environment.
  • Cobertura

    • Number: TT-WB-002
    • Description: Java tool for calculating percentage of test covered by Java.
  • Code Cover

    • Number: TT-WB-003
    • Description: Code cover is an eclipse plugin which provides the user with the ability to perform automated code coverage tests.

Area: Quality Analysis Tools (QA)

  • Jdepend

    • Number: QA-STA-001
    • Description: Java package quality analysis tool.


Unit Number Legend:

BB Black Box Testing.
BC Basics of Cryptography
CC Code Coverage.
CS Computer Science.
DB Debugging.
DSA Dynamic & Static Analysis
EMH Ethical Wireless Hacking.
GUI Graphical User Interfaces.
HT Hand Tracing.
OOP Object Oriented Programming.
PP Pair Programming.
PS Password Safety.
SBT Security-Based Testing.
SCPM Security Countermeasures, Policies and Models.
SMVT Security Misconceptions, Vulnerabilities and Threats.
SPU Security Patterns using UML.
STH Security Toolkits and Applications for Ethical Hacking (STH).
SYS System Testing.
UML Universal Modeling Language.
UT Unit Testing.
VC Version Control.
WB White Box Testing.