Current Classes

Capstone Project in Computing I

A demanding computing project performed in a team and under the supervision of computer science faculty. Students will design, implement, and evaluate a computing-based solution to meet a given set of computing requirements. Students work in groups of 3-5 and will follow the Agile SCRUM project management methodology. All projects are unstructured with no predetermined solution. The scope includes proposing a project, identifying computing and user requirements, and prototyping a solution. A proposal, progress reports, and a public seminar are required.

Programming Language Design and Implementation

Design and construction of system software such as compilers, interpreters and assemblers. Topics include command and statement parsing techniques, symbol tables, code generation and code optimization. A project involving design and construction of a working systems program is assigned.

Computer Networking

Theory and knowledge of computer networks, the operation of the network, the characteristics of network architecture as it relates to the ISO model and administration, and the security and management of networks are provided. Other topics include network hardware requirements, such as routers, repeaters, gateways, interface cards, file servers, network topology options, and the Internet.

Computer Security

This course introduces the student to the fundamentals of computer security. Foundational concepts such as confidentiality, integrity, and availability are discussed in the context of both designing systems and evaluating existing systems for vulnerabilities. Cryptography is explored as a tool that can be applied to many aspects of computer security. Theoretical discussions of security principles are enriched by examples from real world systems and protocols.

Application Development

This course provides an in-depth exploration of creating applications for Android and iOS platforms. Students gain proficiency in programming languages for mobile app development, engaging in hands-on projects to design, develop, and deploy functional mobile applications. The course balances theoretical knowledge with practical exercises, preparing students for careers in the dynamic field of mobile app development.

Application of generative AI

Special Topics in Computer Science.