The fingerprint activity offers students a practical opportunity to engage with programming in Java and gain insights into cybersecurity concepts such as biometric validation, file processing, and incident response strategies within authentication systems. Additionally, this activity permits students to acquaint themselves with the notion of precision, as it includes a measure of adaptability and tests this with various fingerprint samples (text files). The model assesses precision by comparing matching pixels and permits a specific degree of imprecision, denoted as epsilon, before classifying the samples as non-identical.
Part I of the assignment was initially created for the Computer Science 1 course, aligning with the ACM CCECC Computer Science Curricular Guidance for Associate-Degree Transfer Programs infused with Cybersecurity learning outcomes. These outcomes are as follows:
AL-13. Compare various data structures for a given problem.
AL-14. Investigate security vulnerabilities in various data structures.
AR-04. Examine the internal representation of non-numeric data.
The developers of this activity recognize the evolving landscape of computer science education, where the fundamentals of computer science often serve as a gateway to diverse fields like data science, cybersecurity, and computational biology, collectively referred to as "CS + X." Therefore, Parts I, II, and III were meticulously designed, keeping in mind the following Student Learning Outcomes (SLO) from the ACM curriculum guidelines for 2023:
ACM/IEEE-CS/AAAI Computer Science Curricula (CS2023)
SEP-Context: Social Context. Consequences of involving computing technologies, particularly artificial intelligence, biometric technologies, and algorithmic decision-making systems, in civic life (e.g., facial recognition technology, biometric tags, resource distribution algorithms, policing software)
AL-Foundational: Arrays. Using a real-world example, explain step-by-step how the ADT operations associated with the data structure transform it
ACM Cybersecurity Curricular Guidance for Associate-Degree Programs (Cyber2y2020)
Data Forensics: [DAT-LO-E09] Perform fundamental incident response functions including detecting, responding, and recovering from security incidents
Human Security: [HUM-LO-E01] Compare various methods of identity management, identification, authentication, and access authorization, such as roles, biometrics, and multifactor systems.
Data Integrity and Authentication: [DAT-LO-E11] Summarize the benefits and challenges of multifactor authentication.
System Access and Control: [SYS-LO-E07] Contrast various system-related methods for authentication, authorization, and access control.
Identity Management: [HUM-LO-E01] Compare various methods of identity management, identification, authentication, and access authorization, such as roles, biometrics, and multifactor systems.
The ACM Computing Competencies for Undergraduate Data Science Curricula ACM Data Science Task Force
Data Acquisition, Management, and Governance (DG): Concentrates on the design techniques for data acquisition, considering the characteristics of data sources and their application contexts.
Community Colleges are two-year programs in the United States (e.g., see Servin et. al), which classes are composed of heterogeneous audiences (student populations) such as Early College High Schools (ECHS), pathways of technology (P-TECH), industry upscaling programs, four-year transferable degrees, military training, including non-cs graduated students who pursue a masters in software engineering or other computing classes. Therefore, the assignment was designed to address as many communities as possible.
Computer Science CS 1 and CS 2
The primary objective of computer science education is to teach two-dimensional arrays. How to define, and implement, a multi-dimensional array, in this case, a two-dimensional array (a.k.a. matrix). Additionally, the assignment covers topics such as Object-Oriented Programming, and how to define a class with the proper fields, constructors, and methods. As mentioned in Section 1, Part I of the assignment is designed for a traditional CS 1 course. Part II and III are intended to be offered in a traditional CS 2.
Remedial Activity for CS 2
The course "Fundamentals of Computer Programming II," often referred to as CS 2, serves as the natural progression from "Fundamentals of Computer Programming I." Many educational institutions offer these courses as part of a sequence. CS 1 serves as a foundational knowledge base, and CS 2 is often employed as a refresher or warm-up to reinforce key concepts before delving into more advanced material. This preparatory exercise not only helps students gauge their current proficiency in the subject but also fosters awareness of the specific areas that may need revisiting from their CS 1 experience. Furthermore, educators can utilize the results of this preparatory phase to identify and address potential shortcomings within the classroom, offering an opportunity for targeted interventions, particularly in smaller educational settings like community colleges.
Honors Project An honor project is an in-depth research or academic project that is undertaken by a student in an honors or track of their program. The assignment has also served as an honor’s project for non-cs majors or for students who pursue a CS + X degree and are taking CS 1.
Competency-Based Education
This assignment serves as well as a competency for CS 1. Competency-Based education is recognized when a student's advancement is determined by their demonstrated mastery of content rather than the amount of time spent in a seat. Students engage in active learning through diverse pathways and at their own individualized pace. Many institutions have been adopting the CBE modality nowadays, in particular in community colleges, since this modality evaluates summative assessment that covers topics from traditional CS 1 courses.
CS 1 Perspective:
In the view of CS 1 students, Part I of the assignment presented a moderate level of difficulty. Defining objects and their attributes was found to be relatively straightforward. However, when it came to migrating data from a text file into an object, students encountered challenges that necessitated supplementary information. To address this deficiency, an Open Educational Resource (OER) was created. It's worth noting that Part II and Part III were not assigned for CS I.
CS 2 Perspective:
The assignment in CS 2 took two distinct forms:
Remedial Activity: The majority of students perceived this as "very difficult" and, in some cases, "almost impossible to complete." Some students expressed that they had not previously covered the topics required for this assignment. This reaction is deemed normal, particularly given that the project was assigned in the first week of classes, right after summer or winter break, in a standard 16-week semester. Additionally, students recognized the need to focus on specific areas, such as how to read files, utilizing Object-Oriented Programming (OOP), and manipulating arrays.
Activity for Two-Dimensional Arrays: Students generally found declaring and populating a two-dimensional array to be relatively straightforward. However, they encountered challenges when tasked with creating methods that interacted with multiple Fingerprints objects, considering this aspect to be difficult.
CS 1 Honors Project:
For those CS 1 students aspiring to pursue an honors or enhanced honors project, Part II and Part III were developed. These students were required to conduct in-depth research on specific topics, some of which were covered in the provided OER. In other instances, particularly in the realm of cybersecurity and data analysis, students needed to conduct research in areas that align with the requirements of an honors project.
The assignment was structured with three parts as follows:
Part I: Estimated completion time of one to two hours
Part II: Estimated completion time of three to six hours
Part III: Estimated completion time of three to six hours
In theory, the entire assignment could be finished in a range of 7 to 14 hours, depending on the instructional approach chosen by the educator.
In practice, the community college proctored this activity and observed a variety of completion times among our students.
Some students, particularly those with prior programming experience or exposure to similar assignments, managed to complete the entire assignment in just two hours.
While the assignment may not have been flawless, it was considered "satisfactory," indicating that the student demonstrated competence in the CS 1 course, where students completed the entire assignment in two hours.
Generally, students in CS 2 tended to require approximately seven hours to complete the lab.
Curriculum Alignment: This assignment has been carefully designed to conform to well-established curricular standards by encompassing learning outcomes, subject matter, and competencies. It adheres to the ACM's mission, striving to establish best practices that resonate with these educational frameworks.
Content Integration: This assignment serves as a comprehensive consolidation of topics covered in CS 1, aiming to synthesize these concepts into a singular activity.
Impact on Workforce and Competency-Based Education (CBE): Community colleges excel in offering a direct pathway to the workforce, with a curriculum deeply influenced by regional employment trends. In today's landscape, cybersecurity and data analytics play a pivotal role. While this assignment introduces foundational concepts in these areas, it primarily serves as a catalyst, making students aware of the career opportunities available locally and inspiring them to pursue degrees that align with their career aspirations. Although it does not delve into these subjects in great depth, it provides sufficient insight for students to grasp the potential impact of computer science courses on their future careers.
Interdisciplinary Synergy: This assignment encompasses elements of computer science, programming, cybersecurity, and data analytics, allowing students to fuse these disciplines for real-world applications.
Flexibility in Delivery: The assignment's modular structure provides educators with the flexibility to adapt its complexity and scope based on the specific requirements and nature of their courses. This adaptability allows educators to tailor the assignment's components to suit the unique characteristics of their classes.
Cybersecurity is not my area of interest: Although the assignment can be divided into multiple stages and tailored to various computing concentrations, it demands a significant investment of time to engage students in solving it. In the past, we have received feedback such as "I'm not interested in cybersecurity; I just want to learn how to program" or "I don't need the cybersecurity aspect; I want to become a software engineer." These responses implied that the assignment might not be suitable for all students. To address this concern, we have introduced the option to designate it as an enhanced honors project or a special project for students seeking additional assistance.
Time constraints: Another drawback relates to the time required. We recognize that the three parts of the assignment demand a substantial amount of time to complete. Some of these topics may not be covered in the course notes or the textbook. The assignment was intentionally designed this way to enhance computational thinking and problem-solving skills. Nevertheless, we acknowledge that the time commitment can be extensive, especially for students without a strong background in these areas. To mitigate this issue, we have divided the assignment into three parts, allowing educators the flexibility to pace it according to their students' needs.
Non-traditional CS 1 topics: We acknowledge that these topics are not typically part of a standard CS 1 curriculum. However, as mentioned in the "strengths" section, we believe these topics have practical applications. We have included topics that can be researched and are accessible through Open Educational Resources (OER).
We provide the Github Repository and the OER where students can find relevant information to solve the majority of the challenges. In addition, we provide a list of support files that can help students to put items together.
Yes, please see Section Audience to see the variations of the assignment
Fingerprint Files
Part I: Fingerprint Object Implementation
Employ the original and User1 fingerprints text files to assess the implementation of the Fingerprint object.
Part II: Threat Detection Model No. 1
Employ the original and various user fingerprint text files to evaluate the first Threat Detection model. Compare each user's fingerprint against the original one.
Part III: Threat Detection Model No. 2
Employ the original and its variant fingerprint text files to assess the second Threat Detection model. Compare multiple fingerprint variations with the original one.