Course Aim: Introduce the principles and practice of computer security to students. The course presents standard cryptographic functions and protocols and gives an overview of threats and defenses for software, host systems, networks and the Web.
Main Topics: Risk analysis - authentication - access control - security evaluation - audit trails - cryptography - network/database/application security - viruses - firewalls are covered.
Course Aim: Introduce students to novel topics in computer science that need to be identified in a responsive manner as technology evolves and develops.
Course Aim: Introduce Machine Architecture, machine level data and instruction representation, ALU design, and organization of the processor datapath and control. Examines performance analysis, memory system hierarchy, pipelining, and communication.
Main Topics: CPU - memory - registers - arithmetic unit - control unit - and input/output components - data representation - Boolean algebra - machine-level programs - instruction set architecture - processor organization - memory hierarchy - virtual memory - compiling - linking.
Course Aim: Provide students with the essential skills of building web sites as it serves as the foundation for websites development technologie.
Main Topics: Internet history - architecture/protocols - network programming - Web architecture - client-server architectures and protocols - client-side programming - server-side programming - dynamic HTML - Java programming - object-oriented architecture/design - distributed object computing - Web applications.
Course Aim: Introduce the principles and practice of computer security to students. The course presents standard cryptographic functions and protocols and gives an overview of threats and defenses for software, host systems, networks and the Web.
Main Topics: Risk analysis - authentication - access control - security evaluation - audit trails - cryptography - network/database/application security - viruses - firewalls.
Course Aim: Introduce students to novel topics in computer science that need to be identified in a responsive manner as technology evolves and develops.
Course Aim: Introduce students to topics in basic computer science that need to be identified in a responsive manner as technology evolves and develops.
Course Aim: Enable students to learn how to apply basic algorithmic techniques and to apply advanced object-oriented programming in order to implement various data structures.
Main Topics: Array-based lists, linked lists, hash tables, recursion, heaps - stack - queue - priority queue - binary search - binary search tree, binary search trees - AVL trees, and graph.
Course Aim: Introduce Machine Architecture, machine level data and instruction representation, ALU design, and organization of the processor datapath and control. Examines performance analysis, memory system hierarchy, pipelining, and communication.
Main Topics: CPU - memory - registers - arithmetic unit - control unit - and input/output components - data representation - Boolean algebra - machine-level programs - instruction set architecture - processor organization - memory hierarchy - virtual memory - compiling - linking.
Course Aim: Provide students with an understanding of the role computation can play in solving real-world problems.
Main Topics: An introduction to computers-Program design and development process: Problem definition, pseudo-code and algorithm development, flowcharting - Fundamental programming concepts in Python; procedures, functions, iteration, strings, decision structures.