28.12.2014 Views

academic-catalog2011.. - LAU Publications - Lebanese American ...

academic-catalog2011.. - LAU Publications - Lebanese American ...

academic-catalog2011.. - LAU Publications - Lebanese American ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Department of Computer Science and Mathematics<br />

CSC 430 Computer Networks [3-0. 3 cr.]<br />

This course introduces the structure,<br />

implementation, and theoretical underpinnings<br />

of computer networks. Topics include network<br />

structure, performance metrics, circuit switching<br />

and packet switching, the Internet protocol stack,<br />

physical layer networking concepts, data link<br />

layer technologies and protocols, internetworking<br />

and routing, transport layer protocols, application<br />

layer protocols, client-server programming, and<br />

emerging technologies.<br />

Prerequisite: CSC326 Operating Systems<br />

CSC435 Computer Security [3-0, 3 cr.]<br />

Introduction to computer security including<br />

formal models of security, security goals<br />

and fundamentals (confidentiality, integrity,<br />

availability, etc.), introduction to risk assessment<br />

and management, security standards in<br />

government and industry (e.g., Common Criteria,<br />

Orange Book, etc.), corporate and institutional<br />

security policies, evaluation process and<br />

levels, computer system protection principles,<br />

access controls, cryptography fundamentals,<br />

authentication, security operations, software<br />

attacks including malicious code and buffer<br />

overflows, social engineering, injection attacks,<br />

and related defense tools, network attacks<br />

including denial of service, flooding, sniffing and<br />

traffic redirection, defense tools and strategies,<br />

web sites attacks including cross-site scripting,<br />

IPSec, Virtual Private networks and Network<br />

Address Translation, and ethics. Hands-on<br />

experience is part of the class.<br />

Prerequisite: CSC326 Operating Systems.<br />

CSC 440 Advanced Object Oriented<br />

Programming [3-0, 3 cr.]<br />

This course presents advanced object oriented<br />

programming concepts, and techniques, using<br />

modern programming languages and frameworks.<br />

Topics include the review of object oriented<br />

programming concepts, graphics, graphical user<br />

interface components, event-based programming,<br />

applets, strings and characters, bit manipulation,<br />

exception handling, files and streams, collections,<br />

multimedia, multithreading, accessing databases,<br />

and design patterns.<br />

Prerequisite: CSC 245: Objects and Data<br />

Abstraction.<br />

CSC443 Web Programming [3-0. 3 cr.]<br />

This course introduces advanced concepts in web<br />

programming, and focuses on the development<br />

of dynamic web pages that incorporate both<br />

client-side and server-side programming. Topics<br />

include web scripting using JavaScript, VBScript,<br />

and PHP, as well as Java Beans, and server side<br />

components such as CGI, ASP, and PHP, and the<br />

installation and configuration of web servers.<br />

The course also discusses accessing databases<br />

through web applications. Hands-on experience<br />

is part of the class.<br />

Co-requisite: CSC375 Database Management<br />

Systems.<br />

CSC447 Parallel Programming for Multicore<br />

and Cluster Systems [3-0, 3 cr.]<br />

This course provides an introduction to parallel<br />

programming with a focus on multicore<br />

architectures and cluster programming techniques.<br />

Topics include relevant architectural trends and<br />

aspects of multicores, writing multicore programs<br />

and extracting data parallelism using vectors<br />

and SIMD, thread-level parallelism, task-based<br />

parallelism, efficient synchronization, program<br />

profiling, and performance tuning. Messagepassing<br />

cluster-based parallel computing is<br />

also introduced. The course includes several<br />

programming assignments to provide students<br />

first-hand experience with programming, and<br />

experimentally analyzing and tuning parallel<br />

software.<br />

Prerequisite: CSC310 Algorithms and Data<br />

Structures; CSC326 Operating Systems.<br />

CSC450 Computer Graphics [3-0, 3 cr.]<br />

This course is an introduction to computer<br />

graphics algorithms, programming methods,<br />

and applications. The course focuses on the<br />

fundamentals of two and three dimensional raster<br />

graphics, scan-conversion, clipping, geometric<br />

transformations, computational geometry, computerhuman<br />

interfaces, animation, and visual realism.<br />

Prerequisite: CSC310 Algorithms and Data<br />

Structures.<br />

CSC458 Game Programming [3-0, 3 cr.]<br />

This course introduces the software<br />

technologies related to game development, as<br />

well as the art and design principles needed to<br />

create compelling games. Topics include game<br />

history and taxonomy; game play design and<br />

the components of a video game experience;<br />

software architecture for games; intro to 3D<br />

graphics and stereoscopic computer graphics;<br />

hardware architecture of contemporary<br />

video game platforms; human physical and<br />

perceptual limits; game artificial intelligence;<br />

multiplayer game design; game physics, and<br />

intro to real time shading effects.<br />

Prerequisite: CSC310: Data Structures &<br />

Algorithms.<br />

ACADEMIC CATALOG [ 2011-2012 ] SCHOOL OF ARTS AND SCIENCES<br />

115

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!