Ahmed Hamza Headshot

Ahmed Hamza

Lecturer

Department of Computing Security
Golisano College of Computing and Information Sciences

585-475-4314
Office Location
Office Mailing Address
152 Lomb Memorial Drive Rochester, NY 14623

Ahmed Hamza

Lecturer

Department of Computing Security
Golisano College of Computing and Information Sciences

Education

MS in computer science, Georgetown University

Bio

Ahmed lectures in the Computer Science and Computing Security departments. His PhD research is on machine-intelligence optimizations to video encoding algorithms (H.265). In computing security, he is interested in OS security, memory-resident malware, persistent threats, and modern defense circumvention. Ahmed obtained his M.S. in Computer Science from Georgetown University in 2010, and a B.Sc in Computer Science, magna cum laude, from the AUC in 2007.

585-475-4314

Areas of Expertise

Currently Teaching

CSEC-140
3 Credits
This course will introduce many fundamental cybersecurity concepts. The course will teach students to think about information systems using an adversarial mindset, evaluate risk to information systems, and introduce controls that can be implemented to reduce risk. Topics will include authentication systems, data security and encryption, risk management and security regulatory frameworks, networking and system security, application security, organizational and human security considerations, and societal implications of cybersecurity issues. These topics will be discussed at an introductory level with a focus on applied learning through hands-on virtual lab exercises.
CSEC-201
3 Credits
This course builds upon basic programming skills to give students the programming knowledge necessary to study computing security. Students will be introduced to network programming, memory management, and operating system calls along with associated security concepts. Specific focus will placed on understanding the compilation process and on the relation between high-level programming concepts and low-level programming concepts, culminating in identifying and exploiting memory corruption vulnerabilities.
CSEC-102
3 Credits
Computer-based information processing is a foundation of contemporary society. As such, the protection of digital information, and the protection of systems that process this information has become a strategic priority for both the public and private sectors. This course provides an overview of information assurance and security concepts, practices, and trends. Topics include computing and networking infrastructures, risk, threats and vulnerabilities, legal and industry requirements for protecting information, access control models, encryption, critical national infrastructure, industrial espionage, enterprise backup, recovery, and business continuity, personal system security, and current trends and futures.
CSEC-124
4 Credits
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security.
SWEN-124
4 Credits
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security.