Course 1: Information Assurance and Security
- This course will provide basic and comprehensive understanding of the problems of information assurance (IA) and security, possible solutions to these problems, especially the security of information on computers and networks. This course will focus on the IA technology as well as IA policy, management, legal, and ethical issues. Specific topics covered include: - IA Basics: Overview, security, and privacy principles and strategies, mission assurance, physical and personal security, formal methods, contingency and disaster recovery planning. - IA Management: IA policies, certification and accreditation, authentication protocols and access control, administrative security controls, risk analysis, and management. - IA in Information System and Application Development: IA in outsourcing, open-source software, health-care, service-based and cloud computing. - IA and Social Aspects: Laws and regulations related to IA and security, legal and ethical issues, and IA in social media.
Course 2: Applied Cryptography
- Cryptography provides the underlying security methods for the web and many other computer applications. This course covers the design usage of cryptographic protocols for online and offline computing applications. Assuring the quality, validity and privacy of information is one of the key applications of Cryptography. Applications of cryptography span from signatures and certificates to trustless multiparty computations. Specific topics covered include: - Large numbers, random numbers, hash functions, and number theory. - Encryption methods and common ciphers. - Password storage and password cracking - Authentication, key exchange, and man in the middle (MITM) attacks. - Secure messaging, Kerberos and Secure Sockets Layer (SSL) or Transport Level Security (TLS). - RSA and why it works. - Advanced cryptographic protocols. - Anonymity, money, and secure election algorithms.
Course 3: Software Security
- This course provides an understanding of the theories, tools, and techniques to identify, exploit, and mitigate software security vulnerabilities in the network, binary, and web levels. You will study vulnerability classes to understand how to protect software and how to secure software. We will also cover the history of software security, and ethical considerations. This course will focus on a hands-on approach: In addition to understanding vulnerability classes, you will be required to identify and exploit vulnerabilities. Specific topics covered include: - History of Software Security - Software Security Ethics - Network Security - Application Security - Web Security
Course 4: Data Mining
- This course will introduce you to the fundamentals of data mining and pattern recognition. You will gain a deeper understanding of data through hands-on experience in the topic areas of big data analysis, classification, clustering, and association rule mining. Advanced topics such as reinforcement learning, deep learning, transfer learning and Deep Mind for Google will also be covered. By the end of the course, you will be able to apply state of the art data mining technology to real world applications, analyze and compare competing techniques, and design optimal solutions for a given set of application driven constraints.
Course 5: Distributed & Multiprocessor OS
- This course will teach both the fundamental concepts and principles of distributed systems and the practical skills for developing distributed systems. Specific topics covered include distributed systems architecture, communication, coordination, and consistency and replication.
Course 6: Accelerated Applied Security
- This course will teach you the countermeasures to attacks to computer systems from miscreants (or hackers) and basic topics of cryptography and network security.