Programming
C++, Java, Python, object-oriented programming, debugging, and software design fundamentals.
I teach computer science as a practical discipline: students should understand the logic, write working code, debug with confidence, and connect classroom concepts to real systems. My teaching sits at the intersection of programming, data, cybersecurity, and applied AI, with an emphasis on clear thinking, ethical computing, and project-based learning.
C++, Java, Python, object-oriented programming, debugging, and software design fundamentals.
Database systems, SQL, data mining, data analysis, dashboards, and reproducible workflows.
Applied AI, NLP, cybersecurity, digital forensics, secure software development, and responsible computing.
My classroom approach is built around applied understanding. I want students to learn not only what a programming concept means, but also why it exists, where it appears in real software, and how to reason through mistakes when the code does not behave as expected.
I use step-by-step examples, visual explanations, debugging walkthroughs, and project-based assignments to help students move from syntax memorization toward software reasoning. I also emphasize responsible use of AI tools: students may use AI to support learning, but they must understand, explain, test, and defend their own work.
Undergraduate courses taught at John Jay College of Criminal Justice as a full-time Substitute Lecturer.
Introductory programming course focused on computational thinking, algorithmic problem solving, control structures, functions, arrays, and core programming foundations using C++.
Object-oriented programming course covering class design, encapsulation, constructors, composition, operator overloading, inheritance, polymorphism, file handling, debugging, and multi-file program structure.
Course covering relational database concepts, SQL, data preparation, data analysis, and introductory data mining workflows. The course connects database fundamentals with practical analytical thinking and responsible data use.
Course in the design and analysis of algorithms, including asymptotic complexity, divide-and-conquer, sorting, search trees, graph traversal, shortest paths, greedy methods, and dynamic programming.
Graduate courses taught or scheduled as an Adjunct Assistant Professor through the Division of Computer Science, Mathematics, and Science.
Graduate course introducing advanced digital forensics topics, including malicious software (malware) and its analysis, with hands-on experience using open source and commercial tools in a digital laboratory environment. Covers the forensic characteristics of Windows, OSX, and Linux platforms, and the reverse engineering techniques used to conduct static and dynamic malware analysis, along with the principles, legal considerations, controls, and documentation practices governing forensic procedures.
Topics include incident response and cyber incident management, fundamentals of digital forensics, network and host-based evidence collection, forensic imaging, memory and storage analysis, log file analysis, mobile device forensics, malware analysis for incident response, threat intelligence and threat hunting, and forensic report writing.
Free, step-by-step materials students can use before class, during practice, or when setting up a first development environment. Begin with the interactive source control guide, choose the setup guide for your operating system, and use the responsible AI guide to support learning. The full printable ebook lives in the Books section below.
Interactive beginner guide to version control, commits, GitHub publishing, branching, common fixes, and the visual Source Control workflow inside VS Code.
Open Interactive GuideStep-by-step setup for compiling and debugging C++ using MinGW-w64, GCC, GDB, tasks, and launch configurations in Visual Studio Code.
Open Windows GuideStep-by-step setup for compiling and debugging C++ using Clang, LLDB, build tasks, and launch configurations in Visual Studio Code on macOS.
Open macOS GuideClassroom-oriented guidance for using AI to clarify C++ concepts, test understanding, and improve study workflows while maintaining academic integrity.
Open AI Study GuideA curated list of free and discounted tools for students across development, AI, cloud, productivity, and design. Highlights include GitHub Education, JetBrains, Azure for Students, and other resources useful for building real technical projects.
Open Student ToolsLong-form guides for general readers and students alike.
A jargon-free guide to passwords, phishing, scams, identity theft, data backup, and consumer privacy rights — written for everyday internet users, not tech experts.
Learn More
A formal, 17-chapter ebook on Git and GitHub for C++ students, with practical workflows, recovery guidance, command reference material, and a print-ready PDF layout.
Read the Ebook
Developed curriculum concepts and instructional materials for an Agentic AI Systems offering under the selected-topics computer science format. The course concept introduces students to AI agents, LLM workflows, tool use, prompt engineering, retrieval-augmented systems, evaluation, and responsible AI deployment.
Created instructional materials for introductory programming with an emphasis on accessibility, practical examples, modern C++ foundations, Git/GitHub workflows, and student-centered explanations that reduce the gap between lecture concepts and working code.
Areas I am prepared to teach or develop at the undergraduate or graduate level, depending on departmental need.
C++, Python, Java,object-oriented programming, data structures, debugging, software engineering, Git/GitHub workflows, and secure coding practices.
Database systems, SQL, data mining, data analysis, dashboard development, data quality, and practical analytics workflows using tools such as Tableau, Power BI, Python, and SQL.
Graduate-level Python, applied AI, machine learning foundations, NLP, transformer-based systems, LLM-assisted workflows, AI evaluation, and responsible AI deployment.
Cybersecurity fundamentals, digital forensics, secure software design, authentication, access control, evidence handling, privacy-aware systems, and applied security tooling.
I mentor students through practical computing projects with clear technical goals, reproducible workflows, and outcomes they can explain, demonstrate, and continue improving after the course or research period ends.
A production-oriented authentication system built with Django, enforcing one active session per user, tracking login activity, and supporting suspicious-access awareness. The project emphasizes secure session handling, schema design, reproducible development, and deployment-ready documentation.
Organized and led a student-centered programming event focused on object-oriented reasoning, debugging, problem solving, and applied computing challenges. The event encouraged students to work collaboratively while translating course concepts into timed, hands-on technical tasks.