Special Topics Courses

Advanced Object-Oriented Programming in C++.

3 hr.; 3 cr.
Prereq.: CSCI 381.3, CSCI 313, CSCI 780: Completion of all conditional courses
Advanced concepts of OOP and their realization in C++. Topics to be chosen from among the following: Polymorphism and multiple inheritance in C++, The C++ object model, memory management internals, exception handling and safety, templates and partial specialization , auto pointers, traits and traits classes, the Standard Library, the STL – its use and its internals, generic programming, design patterns, advanced programming paradigms and techniques such as proxy classes and multiple dispatch.
Note: This course may be used to satisfy the “Software Semicore” requirement for graduate students.

Applied Cloud Computing.

3 hr.; 3 cr.
The class will discuss the journey to Cloud from traditional enterprise computing, how every aspect of current infrastructure ‘maps’ to cloud services. How and why the cloud will energize/leverage every aspect of Technology. Those seeking hands-on cloud experience should consider this class. Students will get their hands dirty utilizing free accounts and online training provided by the big cloud vendors. The Course will guide and reinforce the vendor training and explore how and why the cloud will supercharge DEV, TEST and Admin roles of the future. Industry certification will be attainable as a result of fulfilling the course objectives and vendor training.

Biometrics Security Privacy.

3 hr.; 3 cr.
Biometrics has emerged from relatively specialized use in the criminal forensics domain to more mainstream use for computer authentication, identification document security, and surveillance for public safety. This emergence has been accompanied by an expansion in biometric modality from mainly fingerprints to face, iris, hand, voice, and other novel biometrics.

This course concentrates on the unique advantages that biometrics brings to computer security, but also addresses challenging issues such as security strength, recognition rates, and privacy, as well as alternatives of passwords and smart cards. Students will gain knowledge in the building blocks of this field: signal processing, pattern recognition, security and privacy, and secure computation techniques for privacy preserving biometric data retrieval. By the end of the course students will be able to evaluate and design security systems that include biometrics and their usability and privacy implications. If time permits and there is sufficient interest, we will also discuss a real-world project on applying biometrics to emergency health data management.

Computer Networking & Internet.

3 hr.; 3 cr.
Prereq.: CSCI 313 and 220
Introduction to principles and practice of Computer Networking, with a focus on the concepts and protocols of the modern Internet. Application layer with the client-server paradigm. Transport layer with reliable transmission, connection sessions, multiplexing, controlling congestion and flow. Network layer with routing. Link layer with channel sharing. Network security fundamentals.

Graphical Models.

3 hr.; 3 cr.
Prereq.: CSCI 381.3, CSCI 313, and MATH 241. CS 780: Completion of conditional courses
Course description: Probabilistic graphical models, especially Bayesian networks, offer a compact, intuitive, and efficient graphical representation of uncertain relationships among the variables in a domain and have proven their value in many disciplines, including machine or medical diagnosis, prognosis, bioinformatics, planning, user modeling, natural language processing, vision, robotics, data mining, fraud detection, and many others. This course will familiarize you with the basics of graphical models and provide a foundation for applying graphical models to complex problems. Topics include basic representations, exact inference, approximate inference, parameter learning, structure learning, and applications.

Heterogeneous Distributed Applications.

3 hr.; 3 cr.
Prereq.: CSCI 780, CSCI 381.3
Design and implementation of good proprietary decision-support software often has to integrate advantages normally found in distinct software cultures, such as:

  • powerful and flexible front-end at individual user desktops (on the one hand),
  • multiple back-end servers connected to tailored databases (on the other hand).

These services may be subject to rigorous response-time constraints and correctness guarantees.

A successful solution to a problem of this type may assume a custom-built distributed application, which employs heterogeneous operating systems (such as Linux and Windows) and multiple programming languages (Java, C++, .NET, Excel/VBA.)

Nowadays, very powerful such applications can be built at low cost, single-handedly, on top of standard and widely available computer systems and well-reputed public-license middleware.

  • In this course, students are expected to build such applications, starting from scratch, and attaining fully functional implementations. In the process, students are expected to acquire or improve fluency in the selected platform, which includes operating systems, programming languages, database engines, and the distributed environment.
  • RECOMMENDED BACKGROUND is best described by the content of the following courses.
  • Mandatory:
    • CSCI 211, 313 (with a grade better than barely passing);
  • Desirable but admissible if taken concurrently with this course: 331;
  • Informal but essential:
    • Desire to become an accomplished programmer, and readiness to work toward this goal.

Information & Computer Security.

3 hr.; 3 cr.
Prereq.: CSCI 220.
Information and Computer Security is an introductory course for individuals interested in the theory and practice of security control and privacy protection. We will first introduce the concepts behind security control and privacy protection as applied to ascertain confidentiality, integrity, and availability (of the information and/or computer system). Here are some of the issues that we will explore in the class: What is privacy? How does security and privacy differ from each other? How security control and privacy protection may be achieved through technical and non-technical means?

We will use the SANS NewsBites as a resource for the case study on the REAL information leaks and computer security breach. We will also use the “case reports” from the ACLU (American Civil Liberties Union) and EFT (Electronic Frontier Foundation) to discuss issues surrounding privacy, digital rights, among others. Selected techniques and technologies used for security and privacy safeguard will be illustrated; specifically, how cryptography can be used to realize privacy preserving secure computation for information retrieval, and how multi-modal biometrics technologies can be used to achieve non-repudiation on information and/or computer access. While the technical details of these techniques are not the focus of the illustration, these selected techniques and technologies will be used as a basis to introduce the concept of risk assessment and management, as well as the metrics and methods used for evaluating the strength of security control and privacy protection offered by an information computer system.

Internet Security.

3 hr.; 3 cr.
Internet Security is an introductory course for individuals interested in the theory and practice of security control. This course aims at providing individuals with the background knowledge in IT, CS, and business management disciplines related to security control. In particular, this course will introduce students to the state-of-the-art research and technologies in security control, as well as the scope of the common body of knowledge (CBK) described in the curriculum of the International Information Systems Security Certification Consortium. Proficiency in the CBK described in the curriculum is required for becoming a Certified Information Systems Security Professional (CISSP) — a credential commonly required in the information security industry.

Machine Learning in Image Analysis.

3 hr.; 3 cr.
Prereq.: CSCI 313, MATH 231.
Machine learning: clustering, regression, classification, evaluation, etc.
Computer vision: feature extraction, segmentation, recognition, etc.
Special topics: structured learning, deep learning, etc.

Modeling & Simulation.

3 hr.; 3 cr.
Digital simulation is used by many people in their job to model a system. It is easy to make use of but requires some statistical understanding to interpret and get the appropriate results.

Quantum Computing II.

3 hr.; 3 cr.
Prereq.: CSCI 313 or permission of the instructor.
As computers get smaller and smaller, limitations in the hardware restrict our ability to build faster and faster solid state computers. Quantum computers are an attempt to design more powerful computers using the principles of quantum mechanics. Quantum computers rely on quantum entanglement and quantum parallelism for their speed, unavailable under classical computation. In this course we will study the design of quantum computers using quantum bits (qubits), quantum gates and quantum circuits. Applications will include quantum algorithms for fast factoring (Shor’s algorithm) used for breaking cryptographic systems, quantum Fourier transform and quantum searching. The course will be self-contained and no previous knowledge of quantum mechanics is required. A background in linear algebra is helpful but not essential.

Robotics: Theory and Practice.

3 hr.; 3 cr.
This is an introductory course to expose students to the theory and practice of robotics. This course will roughly be divided into three parts. The first part is a brief introduction on the concept of artificial intelligence related to robotics, as well as the basic concepts on electronics and microcontrollers. The second part is to provide students an opportunity to work as a group (in a virtual environment) for robotic design. In the design phase, individualized tutorial session focusing on project specific algorithms and code implementation will also be arranged. In the last part of the course, the students will be provided with the materials, equipment, and API to build the robot that they design. The following is a list of possible projects for the course: Lego Mindstorm Rubik Cube Solver; Adding surveillance capabilities to drone for emergency rescue; Adding biometrics sensors and programming Arduino to enable secured human-robot interaction; Developing mobile app as a generic interface for robot control; or Using Kinect to build a self-driving vehicle. The finale of the course is for the student group to show case the robot that they built to students elsewhere; e.g., students in the community college, high school, and elementary schools.

Topics in Cryptography.

3 hr.; 3 cr.
Prereq.: CSCI 380, 780
Though we have no formal course prerequisites (more than a course in Discrete Mathematics – or CS220), students should have a good background and comfort with Mathematics. In particular, they should be familiar with basic number theory (congruences, primitive roots, quadratic residues,…) and algebra (finite fields). It would also be a good idea for students who have not had a Cryptography class before to familiarize themselves with some basic cryptographic protocols. Basic programming skills will be useful (but not absolutely demanded). Masters-level students need to have completed all of their required conditional classes to take 780.

We begin with an introduction to elliptic curves (over the field F_p) and how this leads to a beautiful version of the Diffie-Hellman protocol through the deep theory of pairings. From there we will discuss Lenstra’s elliptic curve factoring algorithm and then onto other topics including Shamir’s attack on Knapsack, vulnerabilities in A5 (GSM encryption), linear complexity and the Berlekamp-Massey algorithm for LFSR’s and the Pohlig-Hellman algorithm for discrete logarithms and index calculus ‘attacks’ against elliptic curves.

Wireless Networking.

3 hr.; 3 cr.
Though we have no formal course prerequisites (more than a course in Discrete Mathematics – or CS220), students should have a good background and comfort with Mathematics. In particular, they should be familiar with basic number theory (congruences, primitive roots, quadratic residues,…) and algebra (finite fields). It would also be a good idea for students who have not had a Cryptography class before to familiarize themselves with some basic cryptographic protocols. Basic programming skills will be useful (but not absolutely demanded). Masters-level students need to have completed all of their required conditional classes to take 780.

We begin with an introduction to elliptic curves (over the field F_p) and how this leads to a beautiful version of the Diffie-Hellman protocol through the deep theory of pairings. From there we will discuss Lenstra’s elliptic curve factoring algorithm and then onto other topics including Shamir’s attack on Knapsack, vulnerabilities in A5 (GSM encryption), linear complexity and the Berlekamp-Massey algorithm for LFSR’s and the Pohlig-Hellman algorithm for discrete logarithms and index calculus ‘attacks’ against elliptic curves.

VoIP/WLAN: Technology and Application.

3 hr.; 3 cr.
This course will survey the latest Voice Over IP (VoIP) and location tracking technology. This course will provide reading materials on the latest related technology and real world situations for case studies. The scope of the case studies will cover both the technical and business aspects on deploying VoIP and location tracking technology. The case studies will cover the best practice and business case on deploying VoIP and location tracking technology. This course will provide a mobile VoIP environment covering the QC campus and Kissena Park that allow students to make free local phone calls using their laptop from those locations. The final grade for this course will be based on four aspects: (1) discussion of the reading assignment during class hour, (2) participation in case study discussion during class hour, (3) innovative ideas on applying existing mobile VoIP environment for scientific research, and (4) business case and plan development for VoIP deployment.

Note: This course may be used to satisfy the “Hardware Semicore” requirement for graduate students.