Course Overview
CYSE 301: Cybersecurity Techniques and Operations at Old Dominion University builds upon the foundational knowledge gained in earlier cybersecurity courses by introducing the technical tools and operational techniques used to secure and analyze modern computer networks.
The course was divided into two main components. The first portion focused on learning the C programming language, which is widely used in cybersecurity for tasks such as system programming, malware analysis, and network protocol development. The second portion focused on hands-on cybersecurity operations, including network monitoring, vulnerability analysis, firewall configuration, digital forensics, and penetration testing.
Through programming assignments and cybersecurity labs, I developed both technical programming skills and practical security analysis abilities that are essential for cybersecurity professionals.
Learning Outcomes and Skills Developed
C Programming Fundamentals
One of the primary objectives of this course was to develop a strong understanding of the C programming language, which is widely used in operating systems, networking, and cybersecurity tools.
Through programming assignments, I learned how to:
-
Work with pointers and memory management
-
Manipulate strings and arrays
-
Analyze and debug C programs
-
Write functions and modular code
-
Understand how low-level programming interacts with system resources
Developing these skills helped me better understand how software vulnerabilities occur and how attackers may exploit weaknesses in code.
Code Analysis and Security Awareness
In addition to writing programs, I practiced analyzing C source code to determine the functionality of different functions and programs. This skill is especially valuable in cybersecurity operations such as:
-
Malware analysis
-
Reverse engineering
-
Vulnerability research
-
Security auditing of software systems
By examining program logic and memory operations, I gained insight into how vulnerabilities such as buffer overflows can occur.
Network Monitoring and Traffic Analysis
Another major focus of the course was learning how to monitor and analyze network traffic to detect suspicious behavior or intrusions.
Using industry-standard network analysis tools, I practiced identifying network packets, analyzing protocols, and tracing communication patterns within a network. These skills are critical for detecting malicious activity and responding to security incidents.
Vulnerability Assessment and Network Defense
I also learned how to identify vulnerabilities within network environments and implement countermeasures to protect systems from attack. This involved analyzing system configurations, identifying weak points, and deploying security controls to strengthen defenses.
These activities demonstrated how cybersecurity professionals proactively secure networks before attackers can exploit them.
C Programming Assignments
The programming assignments in this course focused on strengthening my understanding of C syntax, memory operations, and program logic.
Hexadecimal Conversion Function
In this assignment, I wrote a function htoi(s) that converts a string containing hexadecimal digits into its corresponding integer value. This task required parsing strings and performing numeric conversions.
Skills developed:
-
String processing in C
-
Numeric conversions
-
Function design and implementation
String Character Matching
I created a function any(s1, s2) that identifies the first location in string s1 where any character from string s2 appears. If no match is found, the function returns -1.
This assignment strengthened my ability to work with character arrays and string comparisons in C.
String Concatenation Using Pointers
In this project, I implemented a version of the strcat function using pointer manipulation to append one string to another.
This assignment helped reinforce:
-
Pointer operations
-
Memory addressing
-
String manipulation techniques
Reverse Polish Expression Calculator
I developed a program called expr that evaluates Reverse Polish Notation (RPN) expressions from the command line.
For example:
The program evaluates the expression as:
This project required implementing a stack-based evaluation algorithm, which is commonly used in compilers and interpreters.
File Comparison Program
In this assignment, I wrote a program that compares two files and identifies the first line where the files differ.
This program demonstrated practical file-handling operations and data comparison techniques in C.
Cybersecurity Laboratory Experience
The hands-on labs in CYSE 301 focused on applying cybersecurity tools and techniques used by security professionals in real-world environments.
Network Traffic Analysis
Using Wireshark and TCPdump, I captured and analyzed network traffic to observe packet structures, protocols, and communication patterns.
Wireshark
tcpdump
Through this lab, I learned how to:
-
Capture network packets
-
Analyze protocol headers
-
Trace communication between devices
-
Detect abnormal traffic patterns
Firewall Configuration
In this lab, I configured a firewall using pfSense to control network traffic and enforce security policies.
pfSense
Tasks included:
-
Creating firewall rules
-
Controlling inbound and outbound traffic
-
Monitoring network access logs
-
Testing rule effectiveness
Penetration Testing on Windows Systems
In this lab, I conducted a penetration test against a Windows environment to identify vulnerabilities that could be exploited by attackers.
Activities included:
-
Scanning for open ports
-
Identifying system weaknesses
-
Attempting controlled exploitation techniques
This lab provided valuable insight into how attackers identify and exploit system vulnerabilities.
Password Cracking
I explored password security by performing controlled password cracking exercises using security tools designed to test password strength.
This activity highlighted the importance of:
-
Strong password policies
-
Password hashing
-
Multi-factor authentication
Information Hiding
The final lab focused on information hiding techniques, including methods for concealing data within files or communication channels.
This exercise demonstrated how attackers might hide malicious content and how analysts can detect hidden information.
Application to My Future Career
CYSE 301 strengthened both my programming and operational cybersecurity skills, which are essential for roles in network security, penetration testing, and digital forensics.
The ability to write and analyze C programs provides deeper insight into how operating systems and security tools function. Additionally, the hands-on labs introduced me to professional tools used to monitor networks, detect intrusions, and secure systems.
As I continue my cybersecurity studies at Old Dominion University, the knowledge gained in this course will support my development in areas such as:
-
penetration testing
-
malware analysis
-
network defense
-
security operations
These skills will help prepare me to work in cybersecurity environments where protecting critical systems and responding to cyber threats is essential.
My Work:
Assignment-3-Sword-vs.-Shield-Fall2024-1-1-1Module-5-Lab-1