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

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

publications.lau.edu.lb
from publications.lau.edu.lb More from this publisher
28.12.2014 Views

Department of Computer Science and Mathematics This course covers the Finite Automata and regular expressions, context-free grammars, pushdown Automata, properties of context-free languages, Turing machines, undecidability, computational complexity, and P and NP problems. CSC713 Introduction to Bioinformatics [3-0, 3 cr.] This course covers the use of computer science tools to solve the problems related to biochemistry, and/or medicine. Topics include fundamental algorithmic methods in computational molecular biology, and bioinformatics, such as protein sequence analysis, pair wise and multiple alignment, probabilistic models, phylogenetic analysis, folding and structure prediction, biological structures (protein structures, RNA structures, etc...), and information that could be derived from them. The course is research-based. Students are required to read papers and articles, compare different techniques used to solve problems, and suggest alternatives. CSC714 Heuristic Optimization [3-0, 3 cr.] This course will cover the basic heuristic optimization techniques in computing. This course describes a variety of heuristic search methods including serial simulated annealing, Tabu search, genetic algorithms, ant algorithms, derandomized evolution strategy, and random walk. Algorithms will be described in serial as well as in parallel fashion. Students can select application projects from a range of application areas. The advantages and disadvantages of heuristic search methods, for both serial and parallel computation, are discussed in comparison to other optimization algorithms. CSC715 Machine Learning [3-0, 3 cr.] This course provides an overview of popular algorithms in machine learning. Topics include supervised learning, linear and polynomial regression, classification algorithms, gradient descent, unsupervised learning, instancebased learning, neural networks, and genetic algorithms and boosting. The course requires some knowledge of artificial intelligence, and good programming skills. The theoretical aspects of the algorithms will be studied, and assignments will be given to test their applicability. CSC716 Cryptography and Data Security [3-0, 3 cr.] This course is an advanced survey of modern topics of theory, foundations, and applications of modern cryptography. One-way functions, pseudo-randomness, encryption, authentication, public-key cryptosystems, and notions of security, are covered. The course also covers zero-knowledge proofs, multiparty cryptographic protocols, and practical applications. CSC721 Transaction Processing Systems [3-0, 3 cr.] This course covers the theoretical foundations underlying commitment protocols that form the basis of transaction processing techniques. Transaction Processing systems have lots of moving parts, client-side forms, web servers, mid-tier application servers, and back-end databases. Although these components are distributed across multiple processes, these processes share state, and use specialized communication protocols and synchronization techniques. This course explains how these systems are constructed. Topics include the transaction abstraction, application servers, transactional communications, persistent queuing and workflow, software fault tolerance, concurrency control algorithms, database recovery algorithms, distributed transactions, two-phase commit, and data replication. CSC722 Distributed Systems [3-0, 3 cr.] This course is an introduction to distributed systems, distributed system models, network architecture and protocols, interprocess communication, client-server models, group communication, TCP sockets, remote procedure calls, distributed objects and remote invocation, distributed file systems, file service architecture, name services, directory and discovery services, distributed synchronization and coordination, and distributed multimedia systems. CSC723 Knowledge-Based Systems [3-0, 3 cr.] This course covers the knowledge representation, search techniques, logical reasoning, and language understanding. It is an introduction to the methodology of design, and the implementation of expert systems. The emphasis of the course is on the techniques for representing and organizing domain and control knowledge, as opposed to the theory and implementation of inference engines. CSC724 Data Mining [3-0, 3 cr.] This course covers the fundamental techniques and applications for mining databases. Topics include related concepts from machine learning, information retrieval and statistics, techniques and algorithms for ACADEMIC CATALOG [ 2011-2012 ] SCHOOL OF ARTS AND SCIENCES 117

Department of Computer Science and Mathematics classification, clustering, and association rules (spatial, temporal, and multimedia mining; web models), techniques and algorithms for mining the web based on its structure, content, and usage, and the scalable and distributed data mining algorithms. CSC725 System Simulation [3-0, 3 cr.] This course covers the model construction and simulation applied to problems taken from such diverse fields as economics, social science, communication networks and computer systems. It includes programming in simulation languages such as SIMSCRIPT, SIMULA or GPSS. Students will be able to analyze a problem, and determine whether simulation techniques could be used to solve it. Students are also required to develop a viable model of the system program, and to execute a computer simulation of the model, and finally analyze the results of the simulation. CSC726 Compilers [3-0, 3 cr.] This course covers the design and implementation of compilers for high-level languages. Topics include lexical and syntactic analysis, parsing techniques, top-down and bottom-up recognizers for context-free grammars, LR(k) parsers, error recovery, semantic analysis, storage allocation for block structured languages, symbol table management, optimization, code generation, run time system design, and the implementation issues related to programming language design. A programming project is required. CSC731 High Performance Computer Architecture [3-0, 3 cr.] This course covers the concepts and examples of advanced computer systems, especially scalable parallel computers. Topics include memory-system design, advanced processor design techniques, pipelined, vector, sharedmemory, and distributed-memory computer systems, parallel algorithms, and software and architectural issues for efficient parallel processing. CSC732 ULSI Testing [3-0, 3 cr.] This course covers the problems of testing of Ultra Large Scale Integrated Circuits (ULSI), the design of circuits for testability, the design of built-in self-testing circuits, and the use of the IEEE Boundary Scan Standards. Topics include an introduction to the testing process, fault modeling and detection, logic and fault simulation, testability measures, test generation for combinational circuits, test generation for sequential circuits, design for testability, built-in self-test, delay testing, current testing, ATPG-based logic synthesis, system test and core-based design, and testing a system-on-a-chip. CSC733 Embedded Systems [3-0, 3 cr.] This course introduces methodologies for the systematic design of embedded systems including processors, DSP, memory, and software. Topics include hardware and software aspects of embedded processor architectures, along with operating system fundamentals, system specification, architecture modeling, component partitioning, estimation metrics, hardware and software co-design and diagnostics, system interfacing basics, communication strategies, sensors and actuators, and mobile and wireless technology. Projects use pre-designed hardware and software components. The course covers design case studies in wireless, multimedia, and/or networking domains. CSC734 Advanced Computer Networks [3-0, 3 cr.] The course covers the principles, design, implementation, and performance, of computer networks. Topics include Internet protocols, local area networks, advanced routing algorithms, TCP, performance analysis, congestion control, voice and video over IP, switching and routing, mobile IP, peer-to-peer overlay networks, network security, Simple Network Management Protocol, and other current research topics. The course entails programming assignments on protocol implementation, analysis, measurement, and simulation. CSC736 Networks Security [3-0, 3 cr.] Network security is an important aspect of security. Topics include static packet filter, stateful firewall, proxy firewall, IDS, VPN Device, DMZs and screened subnets, networks defense components, internal network security, host hardening, configuration management, audit, human factors, and security policies. The course also covers cryptographic protocols, privacy and anonymity. The course entails various case studies. CSC 737: Pervasive Computing and Wireless Networking [3-0, 3 cr.] Covers the fundamental principles of pervasive and mobile computing in addition to the design of state-of-the-art wireless technologies and wireless networking protocols. Topics include pervasive and mobile computing fundamentals and challenges; pervasive and mobile computing services and application areas; mobile device technologies; mobile device platforms; mobile device application Lebanese American University | page 118

Department of Computer Science and Mathematics<br />

This course covers the Finite Automata and<br />

regular expressions, context-free grammars,<br />

pushdown Automata, properties of context-free<br />

languages, Turing machines, undecidability,<br />

computational complexity, and P and NP<br />

problems.<br />

CSC713 Introduction to Bioinformatics<br />

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

This course covers the use of computer<br />

science tools to solve the problems related<br />

to biochemistry, and/or medicine. Topics<br />

include fundamental algorithmic methods<br />

in computational molecular biology, and<br />

bioinformatics, such as protein sequence<br />

analysis, pair wise and multiple alignment,<br />

probabilistic models, phylogenetic analysis,<br />

folding and structure prediction, biological<br />

structures (protein structures, RNA structures,<br />

etc...), and information that could be derived<br />

from them. The course is research-based.<br />

Students are required to read papers and<br />

articles, compare different techniques used to<br />

solve problems, and suggest alternatives.<br />

CSC714 Heuristic Optimization [3-0, 3 cr.]<br />

This course will cover the basic heuristic<br />

optimization techniques in computing. This<br />

course describes a variety of heuristic search<br />

methods including serial simulated annealing,<br />

Tabu search, genetic algorithms, ant algorithms,<br />

derandomized evolution strategy, and random<br />

walk. Algorithms will be described in serial as<br />

well as in parallel fashion. Students can select<br />

application projects from a range of application<br />

areas. The advantages and disadvantages<br />

of heuristic search methods, for both serial<br />

and parallel computation, are discussed in<br />

comparison to other optimization algorithms.<br />

CSC715 Machine Learning [3-0, 3 cr.]<br />

This course provides an overview of popular<br />

algorithms in machine learning. Topics include<br />

supervised learning, linear and polynomial<br />

regression, classification algorithms, gradient<br />

descent, unsupervised learning, instancebased<br />

learning, neural networks, and genetic<br />

algorithms and boosting. The course requires<br />

some knowledge of artificial intelligence, and<br />

good programming skills. The theoretical<br />

aspects of the algorithms will be studied,<br />

and assignments will be given to test their<br />

applicability.<br />

CSC716 Cryptography and Data Security<br />

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

This course is an advanced survey of<br />

modern topics of theory, foundations, and<br />

applications of modern cryptography. One-way<br />

functions, pseudo-randomness, encryption,<br />

authentication, public-key cryptosystems, and<br />

notions of security, are covered. The course<br />

also covers zero-knowledge proofs, multiparty<br />

cryptographic protocols, and practical<br />

applications.<br />

CSC721 Transaction Processing Systems<br />

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

This course covers the theoretical foundations<br />

underlying commitment protocols that form the<br />

basis of transaction processing techniques.<br />

Transaction Processing systems have lots of<br />

moving parts, client-side forms, web servers,<br />

mid-tier application servers, and back-end<br />

databases. Although these components are<br />

distributed across multiple processes, these<br />

processes share state, and use specialized<br />

communication protocols and synchronization<br />

techniques. This course explains how these<br />

systems are constructed. Topics include the<br />

transaction abstraction, application servers,<br />

transactional communications, persistent<br />

queuing and workflow, software fault tolerance,<br />

concurrency control algorithms, database<br />

recovery algorithms, distributed transactions,<br />

two-phase commit, and data replication.<br />

CSC722 Distributed Systems [3-0, 3 cr.]<br />

This course is an introduction to distributed<br />

systems, distributed system models, network<br />

architecture and protocols, interprocess<br />

communication, client-server models,<br />

group communication, TCP sockets, remote<br />

procedure calls, distributed objects and remote<br />

invocation, distributed file systems, file service<br />

architecture, name services, directory and<br />

discovery services, distributed synchronization<br />

and coordination, and distributed multimedia<br />

systems.<br />

CSC723 Knowledge-Based Systems<br />

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

This course covers the knowledge<br />

representation, search techniques, logical<br />

reasoning, and language understanding. It is<br />

an introduction to the methodology of design,<br />

and the implementation of expert systems. The<br />

emphasis of the course is on the techniques<br />

for representing and organizing domain and<br />

control knowledge, as opposed to the theory<br />

and implementation of inference engines.<br />

CSC724 Data Mining [3-0, 3 cr.]<br />

This course covers the fundamental<br />

techniques and applications for mining<br />

databases. Topics include related concepts<br />

from machine learning, information retrieval<br />

and statistics, techniques and algorithms for<br />

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

117

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

Saved successfully!

Ooh no, something went wrong!