The purpose of this module is to test the students on basic concepts in theoretical computer science. In particular, the students will be tested on the following areas. A. Design and Analysis of Algorithms B. Theory of Computation C. Programming Languages D. Logic and Formal Systems. Basic Texts/ Reference Texts/ Weblinks: 1. Structure and Interpretation of Computer Programs, 2nd ed., by Abelson, Sussman, and Sussman. 2. Discrete Mathematics and Its Application, Kenneth H. Rosen, 5th Edtion McGraw-Hill, 2003. 3. Introduction to Algorithms (Second Edition), Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Cliff Stein, published by MIT Press and McGraw-Hill. Web site: http://mitpress.mit.edu/algorithms/
The purpose of this module is to test the students on basic concepts in computer systems. In particular, the students will be tested on the following topics. A. Advanced Operating Systems B. Computer Networks II C. Database Management Systems D. Computer Architecture. Basic Texts/ Reference Texts/ Weblinks: 1. Modern Database Management (Sixth Edition), Fred R. McFadden, Jeffrey A. Hoffer, Mary B. Prescott 2. Operating System Concepts, Silberschatz & Galvin 3. William Stallings, Data & Computer Communications, 6th ed., Pearson Education, Asia, 2002.
This course presents advanced material on the design and analysis of combinatorial algorithms with emphasis on efficient algorithms and data structures. The aim of this module is to study the various measures of difficulty of problem solving in computing, and to introduce some techniques in theoretical computer science such as non-determinism, digitalization, simulation, padding, reduction, randomization and interaction. Topics covered include: space and time complexity - the classes P, NP, co- NP, PSPACE, EXP, etc.; tape compression; linear speedup; polynomial reduction; Cook's theorem; Savitch's theorem; translation lemma; Gap theorem; NP-completeness and NP-hard problems; probabilistic complexity classes; approximation algorithms; and interactive protocols. This course is meant for students who intend to (i) do research in computer science in general, and algorithm design in particular, or (ii) do advanced application/software development in other areas of computer science. Basic Texts/ Reference Texts/ Weblinks: 1. Introduction to Algorithms (Second Edition), Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Cliff Stein, published by MIT Press and McGraw-Hill. Web site: http://mitpress.mit.edu/algorithms/ 2. Fundamentals of Computer Algorithms, Ellis Horowitz, Sartaz Sahni, and Rajasekaran, Published by W.H. Freeman and Company, 1998. Indian Edition published by Galgotia Publications, 2000.
This course extends the study of operating systems by considering new domains and further implementation details. Topics covered include the following: input and output handling, multimedia file handling, design issues in multiprocessor and distributed operating systems, management of distributed shared memory, design of load balancing strategy, implementation and management of system security, and case studies of various operating systems. Laboratory exercises will supplement lectures and tutorials. Basic Texts/ Reference Texts/ Weblinks: 1. Operating System Concepts, Silberschatz & Galvin 2. Modern Operating Systems, Andrew S. Tanenbaum 3. Distributed Operating Systems, Andrew S. Tanenbaum
his course is an introduction to major topics of modern enumerative and algebraic combinatorics with emphasis on partition identities, young tableaux bijections, spanning trees in graphs, and random generation of combinatorial objects. There is some discussion of various applications and connections to other fields. Basic Texts/ Reference Texts/ Weblinks: 1. Introduction to Algorithms (Second Edition), Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Cliff Stein, published by MIT Press and McGraw-Hill. Web site: http://mitpress.mit.edu/algorithms/ 2. Fundamentals of Computer Algorithms, Ellis Horowitz, Sartaz Sahni, and Rajasekaran, Published by W.H. Freeman and Company, 1998. Indian Edition published by Galgotia Publications, 2000.
This course will examine some fundamental issues in parallel programming and distributed computing, and the relationships between the two. Parallel programming: mutual exclusion, semaphores, consistency, wait-free synchronization. Distributed computing: time, global state, snapshots, message ordering. Relationships: consensus, fault-tolerance, transactions, self-stabilization. Basic Texts/ Reference Texts/ Weblinks: 1. Selim Akl, Parallel Computation: Models and Methods, Prentice Hall, 1997. 2. Concurrent and Distributed Computing in Java, By Vijay K. Garg
The topic of Distributed Systems is now garnering increasing importance, especially with the advancement in technology of the Internet and WWW. The aim of this module is to provide students with basic concepts and principles of distributed operating systems, interprocess communications, distributed file systems, shared data, and the middleware approach. The module is taught in seminar style, and several case studies are included, e.g. CORBA. Topics: Introduction - Characteristics of Distributed Systems; Process Management Communication in Distributed Systems; Distributed Synchronization; Distributed Real-time Systems; File Systems; Naming Security; Fault Tolerant Distributed Systems; Distributed Simulation; WWW as an application of Distributed System. Basic Texts/ Reference Texts/ Weblinks: 1. Distributed Systems: Principles and Paradigms, By Andrew S. Tanenbaum, Maarten van Steen.
The performance gap between optimized and unutilized code continues to widen as modern processors evolve. Notably, the emerging explicitly parallel instruction computing (EPIC) processors are significantly dependent on a range of aggressive program optimizations to yield performance. This module provides an in-depth study of code optimization techniques used in compilers for state-of-the-art processors. Topics covered include structure of an optimizing compiler, the program dependence graph, front end optimizations, instruction scheduling, register allocation, compiling for EPIC processors including predicated execution and software pipelining with hardware support, loop optimizations, dataflow analysis and optimization, optimizations for the memory hierarchy, and automatic parallelization. Basic Texts/ Reference Texts/ Weblinks: 1. Advanced Compiler Design and Implementation, by Steven S. Muchnick
With the widespread use of computers and Internet as well as electronic commerce, data security becomes more and more important. This module introduces the main cryptographic methods for communication and computer system security. Topics covered include: symmetric cyphers, public key cryptography, stream ciphers and block cyphers, digital signature, message authentication, operation system security, access control, entry authentication and key distribution mechanisms, network security. The module will use case studies for illustrating relevant topics, and cover international standards that implement the concepts. Basic Texts/ Reference Texts/ Weblinks: 1. Cryptography and Network Security, by William Stallings 2. Cryptography: Theory And Practice, By . Douglas Robert Stinson
Constraint programming is an alternative approach to computing in which the programming process is limited to a generation of requirements (constraints) and to solving of them by general methods and domain dependent methods. The aim of this course is to discuss the basic aspects of constraint programming. Students will learn problem modeling by means of constraints and the main techniques used to solve such systems of constraints. The course will focus on the fundamental notions of constraint satisfaction problems, local consistency, constraint propagation, complete and incomplete constraint solvers, and various search methods. It will focus on constraint logic programming and its realization in Eclipse, a system that extends Prolog language by means of constraints. The course will focus on problem modelling by means of constraints, and on logic programming techniques concerned with constraints. Students will learn in detail a number of modules of the Eclipse system that aims to increase the versatility of programming by means of constraints. These include: fd (programming over finite domains), clp(R) (solving equations over reals), CHR (constraint handling rules). Basic Texts/ Reference Texts/ Weblinks: 1. Principles of Constraint Programming, by Krzysztof R. Apt 2. Essentials of Constraint Programming, by Thom Frühwirth, Slim Abdennadher
Program analysis are static (compile-time) techniques for computing approximate and yet reliable information about the dynamic behavior of programs. This module lays the foundation for study of program analysis. It covers the essential mathematics upon which program analyses are built, and provides an overview of different approaches to program analysis. Topics include: Partially ordered sets, induction and co-induction, data flow analysis, constraint based analysis, abstract interpretation, and type and effect systems. Students with interest in programming-language design and compiler design will find this module beneficial. Basic Texts/ Reference Texts/ Weblinks: 1. Principles of Program Analysis, By Hanne Riis Nielson, Flemming Nielson, Chris. Hankin
Topics will be of an advanced computing nature and will be selected by the Department.
The objective of this module is to introduce students to the various issues that arise in securing and managing the networks, and study the state-of-the-art techniques for addressing these challenges. A number of most damaging attacks on computer systems involve the exploitation of network infrastructure. This course provides an in-depth study of network attack techniques and methods to defend against them. Topics include basic concepts in network security and management; firewalls and virtual private networks; network intrusion detection; denial of service (DoS); traffic analysis; secure routing protocols; protocol scrubbing; and advanced topics such as wireless network security. Basic Texts/ Reference Texts/ Weblinks: 1. Network Security Essentials: Applications and Standards, By William Stallings 2. Network Management, Mibs and Mpls, By Stephen B. Morris
This primary goal of this module is to introduce students to two major types of wireless networks. First, concepts in cellular networking, including the various generations of cellular networks are introduced. Important concepts related to the design of air interfaces, MAC protocol, QoS, spectrum allocation, mobility management are presented. Second, the students are introduced to the emerging area of sensor networks. Here, the major topic covered are MAC, routing and transport protocols. In this module, there is a strong emphasis on exposing students to practical network system issues by encouraging them to build software prototypes as part of their assessments. Basic Texts/ Reference Texts/ Weblinks: 1. Protocols and Architectures for Wireless Sensor Networks, By Holger Karl, Andreas Willig 2. Ad Hoc & Sensor Networks: Theory and Applications, By Carlos De Morais Cordeiro, Dharma Prakash Agrawal
The first part of this module deals with mobility and wireless technology. It introduces the development of the mobile IP protocol, and addresses the practical application of mobile IP in real-world networking environments. It looks at advanced mobile IP features, including NAT traversal, integration with IPSec, and network mobility. In the second part, the module deals with computer and multimedia networks, and applications associated with multimedia networking. Characteristics of real-time and multimedia traffic and concepts of QoS for multimedia data transmission are discussed. It also deals with transmission of multimedia traffic over various networks, related protocols, services, and applications. Basic Texts/ Reference Texts/ Weblinks: 1. Multimedia Networking: Technology, Management and Applications, By Syed Mahbubur Rahman 2. Multimedia Systems, By Ralf Steinmetz, Klara Nahrstedt 3. Multimedia Applications, By Ralf Steinmetz, Klara Nahrstedt
This module aims to give students an overview on the state-of-the-art technological advancements in the field of parallel processing, in particular, the importance of shared models of parallel computing that lead to specific types of parallel languages and hardware designs. The module is divided into four parts comprising theoretical foundation, technologies, parallel architecture and parallel software. Topics include: parallel computer models; program and network properties, principles of performance analysis, processors and memory technologies, multiprocessor and multi-computer architectures; multithreaded and dataflow architectures, parallel programming models, languages and compilers, parallel program development and environments, and operating systems for parallel computers. Basic Texts/ Reference Texts/ Weblinks: 1. Introduction to Parallel Computing: A Practical Guide with Examples in C, By W. P. Petersen, Peter Arbenz 2. Computer Architecture: A Quantitative Approach, By John L. Hennessy, David A. Patterson
This course focuses on the design and implementation of software for programmable embedded systems. Embedded computing systems hidden inside everyday electronic devices such as hand-phones, digital cameras etc. are becoming more and more prevalent. However, the heterogeneous nature of the underlying hardware as well as tight constraints on size, cost, power, and timing pose significant challenges to embedded software development. This course presents techniques that address these distinctive characteristics of embedded software implementation. Topics include embedded software development for programmable processors and reconfigurable hardware, component-based design, optimizations for performance, power, code size, operating system issues, and case studies of available systems. Basic Texts/ Reference Texts/ Weblinks: 1. Embedded Systems Design: An Introduction to Processes, Tools, and Techniques, By Arnold Berger. 2. Embedded System Design, By Peter Marwedel
This course aims to provide students with a working knowledge of applying simulation techniques to model, simulate and study complex systems. It covers techniques in simulation model design, model execution and model analysis. Model design techniques include conceptual models, declarative models, functional models, constraint models, and multi-models. Model execution techniques include serial and parallel discrete-event simulation algorithms. Topics in model analysis include input-output analysis and experiment design. Students will have hands-on experience using a simulation package that we have developed. Basic Texts/ Reference Texts/ Weblinks: 1. System Simulation with Digital Computer, By Narsingh Deo 2. Computer Simulation: A Practical Perspective, By Roger W. McHaney 3. Systems Modeling and Computer Simulation, By Naim A. Kheir
The objective of this module is to introduce formal verification techniques for validating safety critical reactive systems with specific focus on embedded systems. It covers an automated formal verification technique called Model Checking, which is based on state space search. The different parts of the course will touch upon: (a) formal modeling (b) verification via Model Checking (c) state space reduction techniques to make model checking space/time efficient and (d) specific issues in validation of reactive embedded systems. Basic Texts/ Reference Texts/ Weblinks: 1. Model Checking by Clarke, Grumberg, Peled
The objective of this module is to provide students a working knowledge of computer performance evaluation and capacity planning. They will be able to identify performance bottlenecks, to predict when performance limits of a system will be exceeded, and to characterize present and future workload to perform capacity planning activities. Topics include: performance analysis overview; measurement techniques and tools including workload characterization, instrumentation, benchmarking, analytical modeling techniques including operational analysis, stochastic queuing network analysis; performance of client-server architectures; capacity planning; case studies. Basic Texts/ Reference Texts/ Weblinks: 2. The Art of Computer Systems Performance Analysis, By Raj Jain. 3. Measuring Computer Performance: A Practitioner's Guide, By David J. Lilja
Modern embedded systems are heterogeneous collections of multiple hardware and software components, which might be designed by different vendors and have different interfaces. This heterogeneity, coupled with the complexity of embedded software and the complex features of modern processors make performance analysis of such systems a difficult problem. In recent years, there has been a lot of work in this area, especially because of its practical importance. In this course, we will discuss some of this work with the aim of getting a broad overview of this area. These will include formal models, algorithms, various simulation techniques, tools and case studies in the specific context of embedded systems, which significantly differ from techniques used for the performance analysis of general computer systems. Our focus will be on system-level design techniques, with the aim of critically accessing known models and methods in terms of their generality and ability at different stages of an embedded system design process. Basic Texts/ Reference Texts/ Weblinks: 1. Embedded Software for Soc, By Ahmed Amine Jerraya
Topics will be of an advanced network systems nature and will be selected by the Department.
This main focus of this module is on the managerial aspects of information security. Technology is included to enhance managerial understanding. This module prepares the students for their future roles as IS managers or IS security professionals. It serves as a good introduction to the different aspects of information security management. Topics include security concepts and principles, organization practices, network security, application security, operations security and physical security. Management practices for each topic will be discussed. Basic Texts/ Reference Texts/ Weblinks: 1. Information Security Management: Global Challenges in the New Millennium, By Gurpreet Dhillon 2. A Practical Guide to Managing Information Security, By Steve Purser
This module introduces students to the principles and practice of marketing in the information technology (IT) industry, and the application of computing environments in marketing. The market for IT products is very different from other markets. The main topics of this module are: the concept of marketing, marketing environment in the information technology age, consumer behavior, IT market analysis and targeting, IT product design, pricing, distribution and sales force management, advertising and promotion, and international marketing. Case studies and examples will be drawn from the IT industry. System development of a project forms an essential part of the module. Basic Texts/ Reference Texts/ Weblinks: 1. Offshoring Information Technology, By Erran Carmel, Paul Tjia 2. Internet Marketing Research: Theory and Practice, by Ook Lee 3. Marketing the E-business, By Lisa Harris, Charles Dennis
Students get systematic exposure to different technologies and concepts that are commonly used in business-to-business (B2B) and business-to-customers (B2C) ecommerce. Students will learn the necessary skills, with hands-on experience, needed to actually implement or lead the development of e-commerce websites. Students will understand what is particularly unique about the Internet, why are new languages or standards like ASP, XML, or SSL becoming so popular in the e-commerce world, and what one should take into consideration when designing electronic storefronts. The course contents are structured with the assumption that the students have basic knowledge on JAVA, database, SQL, and HTML. Basic Texts/ Reference Texts/ Weblinks: 1. Electronic Commerce 2006, A Managerial Perspective by Efraim Turban, et al, Prentice Hall, 2006. (ISBN 0-13-185461-5) 2. Electronic Commerce from Vision to Fulfillment by Elias M. Awad.
This module addresses the design of relational databases and object oriented databases. Topics covered include: normalization theory: functional, multi-valued and join dependency, normal forms, relational database schema design using decomposition method and synthesizing method; entity-relationship approach: normal form entity relationship diagram, its derivation, and its translation to relational, network, and hierarchical database schemas; schema integration: view integration and database integration, schema conflict resolution; nested relations: normal form nested relations, nested relations design using decomposition method and entity-relationship approach; object-oriented databases: basic concepts, inadequacies in object-oriented data models, inheritance conflict resolution, translate relational database schemas and entity relationship diagrams to object-oriented database schemas. Database security has a great impact on the design of today's information systems. This course will provide an overview of database security concepts and techniques and discuss new directions of database security in the context of Internet information management. Topics covered include: Access control models for DBMSs, Inference controls, XML database security, Encrypted databases, Digital credentials and PKIs, Trust in open systems, and Peer-to-peer system security. Basic Texts/ Reference Texts/ Weblinks: 1. Modern Database Management (Sixth Edition), Fred R. McFadden, Jeffrey A. Hoffer, Mary B. Prescott 2. Database System Concepts (Fifth Edition), Henry F. Korth, S. Sudarshan, A. Silberschatz
The aim of this module is to provide students with practical knowledge and understanding of basic issues and techniques in data management, with sufficient theory to understand the reasons for these techniques. Topics include conceptual (entity relationship model) and logical design (relational model) of database models, relational database management (data definition, data manipulation, SQL, visual interactive query interfaces), and their use in application development (in particular, data extraction from DBMS to spreadsheets application and data extraction to Web applications). Projects in developing a database within an application form an essential component of this module. Basic Texts/ Reference Texts/ Weblinks: 1. Modern Database Management (Sixth Edition), Fred R. McFadden, Jeffrey A. Hoffer, Mary B. Prescott 2. Database System Concepts (Fifth Edition), Henry F. Korth, S. Sudarshan, A. Silberschatz
This module addresses issues in management of large volume shared data in parallel and distributed environment. Topics covered include: Overview of database and computer network concepts; Transparency in a distributed DBMS; Distributed DBMS architecture. Distributed database design: Alternative design strategies; Distributed design issues; Fragmentation; Data allocation. Distributed query processing: Factors governing query optimization; Centralized query optimization; Ordering of fragment queries; Distributed query optimization algorithms. Concurrency control: Concurrency control in centralized database systems; Concurrency control in DDBSs; Distributed concurrency control algorithms; Deadlock management. Parallel Database: Parallel architectures; parallel query processing and optimization; load balancing. Basic Texts/ Reference Texts/ Weblinks: 1. Principles of Distributed Database Systems, Ozsu and P. Valduriez.
This course introduces fundamental principles behind data mining and efficient techniques for mining large databases. It provides an overview of the algorithmic aspect of data mining: its efficiency (high-dimensional database indexing, OLAP, data reduction, compression techniques) and effectiveness (machine learning involving greedy search, branch and bound, stochastic search, parameter optimization). Efficient techniques covered include association rules mining (Apriori algorithm, correlation search, constrained association rule discovery), classifier induction (decision trees, RainForest, SLIQ; Support vector machine; Naive Bayesian; classification based on association / visualization), cluster analysis (k-means, k-mediods, DBSCAN, OPTICS, DENCLUE, STING, CLUSEQ, ROCK etc), and outliers/deviants detection (LOF, Distance-based outlier etc). Basic Texts/ Reference Texts/ Weblinks: 1. Data Mining Concepts and Techniques, First Edition, Jiawei Han, Micheline Kamber. 2. Introduction to Data Mining, Pang-Ning Tan, Michael Steinbach, Vipin Kumar 3. The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Springer-Verlag, 2001, T. Hastie, R. Tibshirani, and J. Friedman,
This course introduces techniques for analysis, representation and retrieval of multimedia information. After completing the course, the students will be able to design and implement retrieval software for multimedia data. The course covers various attributes characterizing the multimedia data. The attributes to be discussed are text, color, texture and shapes. For each attribute, the course discusses its representation scheme, similarity-based retrieval model, iterative refinement technique, and other representation and retrieval models. The use of these attributes to retrieve images, audio and video, and a framework for multimedia information retrieval and directions of the future work are discussed. Basic Texts/ Reference Texts/ Weblinks: 1. Make Your Digital Movies Look Like Hollywood: Gerald Everett Jones, and Pete Shaner, 2006, Thomson 2. 3ds max 7 Fundamentals: Ted Boardman, 2005, Peachpit Press 3. Macromedia Flash 8 A Tutorial Guide: Jay Armstrong, Jen Dehaan, 2005, Macromedia
This course covers novel application of database concepts and techniques to the processing, dissemination, and integration of data on the Web. Students will learn about the research issues and state-of-the-art techniques that arise from the intersection of database and Web technologies. Topics to be covered include Web technologies (XML, specification languages such as DTD and XML Schema, query languages such as XPath, XQuery) and the application of database technologies (query optimization and evaluation techniques) to manage and process data in Web-based applications. Basic Texts/ Reference Texts/ Weblinks: 1. VBScript Programmers Reference: Raymond Adrian Kingsley-Hughes, Kathie Kingsley-Hughes and Daniel Read, 2nd Edition, 2004, Wrox Press. 2. XSLT 2.0 Programmers Reference: Michael Kay, 3rd Edition, 2004, Wrox Press.
Topics will be of an advanced information systems nature and will be selected by the Department.
Software Requirements Fundamentals, Requirements Process, Requirements Elicitation, Requirements Analysis, Requirements Specification, Requirements Validation, Practical Consideration. Basic Texts/ Reference Texts/ Weblinks: 1. Managing Software Requirements, A Use Case Approach, Dean Leffingwell, Don Widrig, 2nd Edition, Addison Wesley, 2003 2. Writing Effective Use Cases, Alistair Cockburn, Addison Wesley, 2000.
Software Design Fundamentals, Key Issues in Software Design, Software Structure and Architecture, Software Design Quality Analysis and Evaluation, Software Design Notations, Software Design Strategies and Methods. Software Construction, Fundamentals, Managing Construction, Practical Considerations. Basic Texts/ Reference Texts/ Weblinks: 1. Applying UML and Patterns: An Introduction to Object Oriented Analysis and Design and Iterative Development, 3rd Edition, Craig Larman, Addison Wesley, 2005. 2. Patterns of Enterprise Application Architecture, Martin Fowler, David Rice, Matthew Foemel, Edward Hieatt, Robert Mee, Randy Stafford, Addison Wesley, 2002. 3. Design Patterns: Elements of Reusable Object Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Addison Wesley 1995.
Process Implementation and Change. Process Definition. Process Assessment. Process and Product Measurement. Management of the SCM Process, Software Configuration Identification, Software Configuration Control, Software Configuration Status Accounting, Software Configuration Auditing, Software Release Management and Delivery. Basic Texts/ Reference Texts/ Weblinks: 1. Software Configuration Management Patterns: Effective Teamwork, Practical Integration, Stephen P. Berczuk, Brad Appleton, Addison Wesley, 2002. 2. Real World Software Configuration Management, Sean Kenefick, Apress, 2003 3. Object Oriented Software Engineering Process, Ken Rigby, Rigby Publishing, 2003
Software Maintenance Fundamentals. Laws of Software Evolution, Key Issues in Software Maintenance. Maintenance Process. Techniques for Maintenance. Program Understanding and Software Visualization, Reverse Engineering and Reverse Engineering Tools, Recognizing Software Architecture and Design Patterns in Existing Software Systems. Software Transformation, Migration and Reengineering. Recovering Components for Reuse. Basic Texts/ Reference Texts/ Weblinks: 1. Nazim H. Madhavji and Juan F. Ramil and Dewayne E. Perry (editors). Software Evolution and Feedback: Theory and Practice, Wiley, 2006 2. Penny A. Grubb and Armstrong A. Takang. Software Maintenance: Concepts and Practice (2nd edition), World Scientific Pub Co, 2003
Software Quality Fundamentals: Culture and Ethics, Value and Costs of Quality, Models and Quality Characteristics, Quality Improvement. Software Quality Management Processes: Software Quality Assurance, Verification and Validation, Review and Ausits. Practical Considerations: Application of Quality Requirements, Defect Characterization, Software Quality Measurement Techniques, Software Quality Measurement. Software Testing Fundamentals, Test Levels, Test Techniques, Test Related Measures, Test Process. Practical Considerations. Basic Texts/ Reference Texts/ Weblinks: 1. Software Quality Engineering: Testing, Quality Assurance and Quantifiable Improvement, Jeff Tian, IEEE Computer Society Press & John Wiley and Sons, 2005. 2. Software Testing Fundamentals: Methods and Metrics, Marnie L. Hutcheson, John Wiley & Sons, 2003
Initiation and Scope Definition, Software Project Planning, Software Project Enactment, Review and Evaluation, Closure, Software Engineering Measurement. Practical Considerations. Risk Assessment and Management. Costing. Standard Project Management Techniques. Basic Texts/ Reference Texts/ Weblinks: 1. Software Project Management: A Real World Guide to Success, Joel Henry, Addison Wesley, 2003. 2. Software Project Management: A Unified Framework, Walker Royce, Addison Wesley, 1998.
Effective Communication. Technical Communication. Writing Techniques in Software Engineering. Software Artifacts. Compiling Software Artifacts. User Manuals. Compiling Effective User Manuals. Documenting the Software. Software Requirement Tools, Software Design Tools, Software Construction Tools, Software Testing Tools, Software Maintenance Tools, Software Configuration Management Tools, Software Engineering Management Tools, Project Management Tools, Software Engineering Process Tools, Software Quality Tools, Miscellaneous Tools Basic Texts/ Reference Texts/ Weblinks: 1. Writing Software Documentation: A Task-Oriented Approach (Part of the Allyn & Bacon Series in Technical Communication), Thomas T Barker, Longman, 1997.
Heuristic Methods: Structured Methods, Data-oriented Methods, Object-oriented Methods. Formal Methods: Specification languages & notations. Refinement. Verification/proving properties. Prototyping Methods: Styles, Prototyping target, Evaluation techniques. Basic Texts/ Reference Texts/ Weblinks: 1. Z An Introduction to Formal Methods (2nd ed.), A. Diller,Wiley, 1994. 2. Logic in Computer Science: Modeling and reasoning about systems, M. Huth and M. Ryan. Cambridge University Press. 2nd Edition. 2004. 3. Software Reliability Methods. D. Peled, Springer Verlag. 2001. 4. The Object Constraint Language. Precise Modeling with UML. J. Warmer and A. Kleppe, Addison Wesley. 1999.
Social context of computing, Methods and tools of analysis of ethical argument, Professional and ethical responsibilities, Risks and liabilities of safety-critical systems, Intellectual property, Privacy and civil liberties, Social implications of the Internet, Computer crime, Philosophical foundations of ethics Basic Texts/ Reference Texts/ Weblinks: 1. Software Engineering Code of Ethics and Professional Practice, ACM/IEEE Computer Society, 1999.
Topics will be of an advanced software engineering nature and will be selected by the Department.
This is a module that contains both the theory and practice of building knowledge-based systems. The aim of this module is to prepare students so that they can design and build knowledge-based systems to solve real-world problems. The module starts with motivations, background and history of knowledge-based system development. The main content has five parts: rule-based programming language, uncertainty management, knowledge-based systems design, development and life cycle, efficiency in rule-based language and knowledge-based systems design examples. Basic Texts/ Reference Texts/ Weblinks: 1. Stuart J. Russell and Peter Norvig, “Artificial Intelligence: A Modern Approach,” Prentice Hall, Second Edition, 2003. 2. Carl Townsend, “Introduction to Turbo Prolog,” First Edition (Revised), 2000.
This module introduces basic concepts and algorithms in machine learning and neural networks. The main reason for studying computational learning is to make better use of powerful computers to learn knowledge (or regularities) from the raw data. The ultimate objective is to build self-learning systems to relieve human from some of already-too many programming tasks. At the end of the course, students are expected to be familiar with the theories and paradigms of computational learning, and capable of implementing basic learning systems. Basic Texts/ Reference Texts/ Weblinks: 1. “Pattern Recognition and Neural Network, Robert Scholkoff, John Wiley 2. “Introduction to theory of Neural Computation”, John Herts, anders Krogh and R G Palmat, Addison Wesley 3. “Neural Networks a Comprehensive Foundation”, Simon Hayldn, McMillan pub.
In this module, various methods for computers to understand and interpret the contents of images are investigated. The objective is to expose the students to the basic concepts underlying various computer vision techniques and the application of current techniques for problem solving. Topics covered include morphological operations, convolution and cross correlation, edge and corner detection, color, texture, motion, image registration and mosaic king, 3D vision, camera calibration and 3D reconstruction, Eigen face and pattern recognition. Laboratory exercises and projects are included for the students to solve practical problems using computer vision and image processing software packages. Basic Texts/ Reference Texts/ Weblinks: 1. “Pattern Classification and Scheme analysis”, Duda and Haart PE, John Wiley 2. “Pattern Recognition and Neural Network, Robert Scholkoff, John Wiley 3. “Pattern Recognition Principles”, Tou J.T & Gonzalez R.C, Addision Wesley
The aim of this module is to provide a general treatment of image synthesis and computer animation. Image synthesis covers sampling, shading and display aspects of computer graphics. Specific topics include local and global illumination methods with emphasis on radiosity and distributed ray tracing, volume rendering, texture generation and rendering, strategies for anti-aliasing and photo-realism. Computer animation covers the major animation techniques. Specific topics include interactive devices, mobile data structure and soft object modelling, various motion control and deformation techniques, techniques for simulation of natural phenomena, collision detection and animation systems. Basic Texts/ Reference Texts/ Weblinks: 1. “Digital Image processing”, Rafalc C Gonzalez and Richard E Woods, Addiwon Wesley 2. “Fundamentals of Digital Image processing”, A.K Jain, PHI
This module deals with computer processing of human languages, emphasizing a corpus-based empirical approach. The topics covered include: 1. Linguistic essentials. 2. Basic techniques and algorithms: Hidden Markov model, Viterbi algorithm, supervised learning algorithms. 3. Words: part-of-speech tagging. 4. Syntax: noun phrase chunking, named entity tagging, parsing (top down, bottom up, probabilistic). 5. Semantics: word sense disambiguation. 6. Pragmatics: discourse, co-reference resolution. 7. Applications: text categorization, text summarization, language identification, information extraction, question answering, machine translation. Basic Texts/ Reference Texts/ Weblinks: 1. Speech and Language Processing: An Introduction to Natural Language Processing, Computational, Linguistics, and Speech Recognition: D. Jurafsky and J. Martin
The aim of this course is three folds. First, the course provides, from programmers’ viewpoint, an overview of common computational techniques used in the field of bioinformatics, including similarity operations, clustering and classification techniques, and techniques in gene recognition. Second, the basic theory behind these techniques will be covered. Last, but not least, the course demonstrates the role of bioinformaticians as a bridge between the field of computer science and biology, and prepares students for advanced computer-science topics relevant to bioinformatics. Basic Texts/ Reference Texts/ Weblinks: 1. Bioinformatics: Methods and Protocols, by Stephen Misener, Stephen A. Krawetz 2. Introduction to Computational Molecular Biology, by Carlos Setubal, Joao Meidanis
This course is concerned with getting acquainted with the present and future of the intelligent web. We will read and discuss both introductory descriptions and cutting-edge research papers. Topics will include: A short history of both the Internet and the Web, A glimpse of the future of the Web: Web 2.0 and Semantic Web, Basic technologies for searching and mining the WWW; Standards for knowledge representation on the Web such as Resource Description Framework (RDF) and the Web Ontology Language (OWL)); Intelligent (i.e. knowledge based) WWW mining technologies; Intelligent information integration; Intelligent Web Services; Knowledge Management based on Web Technologies. Basic Texts/ Reference Texts/ Weblinks: 1. Web-based Intelligent E-learning Systems: Technologies and Applications, By Zongmin Ma 2. A Semantic Web Primer, By G. (Grigoris) Antoniou
This course is intended for students in computing disciplines whose work interacts with user interface issues in the design of software systems. The course stresses the importance of user-centered design and usability in the development of software applications and systems. Students will be taken through the analysis, design, development, and evaluation of user interfaces. They will acquire hands-on design skills through a graphical user interface design project. The course also emphasizes the importance of contextual, organizational, and social factors in system design. Basic Texts/ Reference Texts/ Weblinks: 1. Norman, Donald: Design of Everyday Things, 2. Dix et.al.: Human-computer interaction (3e), Pearson/Prentice Hall,
The module covers modelling methods that are suitable for reasoning with uncertainty. The main focus will be on probabilistic models including Bayesian networks and Markov networks. Topics include representing conditional independence, building graphical models, inference using graphical models and learning from data. Selected applications in various domains such as speech, vision, natural language processing, medical informatics, bioinformatics, data mining and others will be discussed. Basic Texts/ Reference Texts/ Weblinks: 1. Stuart J. Russell and Peter Norvig, “Artificial Intelligence: A Modern Approach,” Prentice Hall, Second Edition, 2003.
Topics will be of an advanced intelligent systems nature and will be selected by the Department.
Information Systems constitute the primary application of computers and related technology in enterprises and public organizations. This course surveys methods for analyzing user needs and system requirements, from quantitative and qualitative data collection through the specification of functions, attributes, constraints, preferences, and expectations. These methods are presented in the context of "general systems theory," a paradigm that pervades the modern understanding of information systems in both their social and technological dimensions. The course considers social aspects of design, implementation, and evaluation. Students will work in groups on real-life projects that conclude with the presentation of a prototype system. Included topics - Introduction to Information Systems Development, The Systems Analysis Process, Determining User's Needs, Exploring Requirements, From Design to Implementation, Presentation and Documentation, Systems Maintenance and Evaluation, Case Studies.
The internal workings of database management systems: query interpretation, concurrency control, distribution, data buffering, and schema management. Considers traditional database management systems and newer approaches. Presents and analyzes the course material in terms of a particular target application. This course exposes graduate students to advanced database management system design principles and concepts.
This course will provide students with an overview of the key concepts and technologies behind E-business, the opportunities and challenges of doing business on the Internet, and the challenges of introducing e-business techniques into existing organizations. Business models and their patents will also be covered. On completion of this course students will have gained an understanding of the major techniques required for setting up electronic commerce services. Topics included are - Foundations of Electronic Commerce, Retailing in E-Commerce, Internet Consumers and Market Research, Advertisement in E-Commerce, E-Commerce for Service Industries, Business-to-Business E-Commerce, Electronic Payment Systems, E-Commerce Strategy and Implementation, Legal and Ethical Issues, Infrastructure for E-Commerce, Overview of Internet Technologies, Database-backed Web Technologies, XML and Its Applications, Information Security.
Data mining, or knowledge discovery in databases (KDD), has during the last few years marked as one of the most exciting fields in Computer Science. The objective of data mining is to discover useful regularities in large data sets. Interest in the field is motivated by the growth of computerized data collections which are routinely kept by many organizations and commercial enterprises, and by the high potential value of patterns discovered in those collections. The contents of this course include: Principles of data mining methods currently used, including data warehousing and data cleaning, clustering, classification, association rules mining, query flocks, text indexing and searching algorithms, how search engines rank pages, and recent techniques for web mining. Designing algorithms for these tasks is difficult because the input data sets are very large, and the tasks may be very complex. One of the main focuses in the field is the integration of these algorithms with relational databases and the mining of information from semi-structured data, and we will examine the additional complications that come up in this case.
Information technology is an important supporting tool for many, if not all, applications. However, it is one of the complex, relatively expensive, and fast-changing technologies that require careful management and utilization. Therefore, management of and management with information technology demand good basics and skills. This course aims at providing students with concepts and techniques required for efficient management of and with information technology, at strategic and tactical levels. Case studies and examples on how to formulate information technology strategies and master plans will be provided.
This course is designed for graduate students. Fundamental issues in network protocol design and implementation and principles underlying TCP/IP protocol design. Included topics are - Historical development of the Internet, the Internet infrastructures and network security, Discussion of current research topics, including Internet routing protocols (unicast, multicast and unidirectional), multimedia communication (Voice over IP, Real-time protocol), next generation Internet (IPv6, MPLS, DiffServ and IntServ) and grid computing, Networking Protocols, Real-time and Multimedia Application Services, The Global Internet, Network Security, Next Generation Internet and Advanced Applications.
Bayes Decision Theory; supervised and unsupervised learning; parametric and non-parametric techniques; linear discriminant functions; feature selection and dimension reduction. Formal language theory, grammars, recognition of syntactic structures.
Basic concepts of image formation and image analysis: image geometry, sampling, filtering, edge detection, Hough transforms, region extraction and representation, extracting and modeling three-dimensional objects. Students will be assigned analytical and programming assignments to explore these concepts.
This is a course surveying over various aspects of machine recognition of speech including: speech production and perception, derivation of features characterizing short-timed speech segments, speech recognition algorithms and system performance evaluation. The major emphasis is on the recognition of speech at the acoustic level as well as the linguistic level.
This course teaches basic animation for the Web, interactivity, color theory, design, action scripting, and transitions. Students maintain their own web sites and submit projects every 2 weeks in Flash. Individual as well as, a final project are required. Knowledge of basic Web development, e.g., HTML, Java Script. Prerequisite: CMPSCI 391F; CMPSCI 551 and CMPSCI 552 preferred. Permission of instructor is required. 3 credits.
This course provides an introduction to the principles and practice of system and network security. A focus on both fundamentals practical information will be stresses. The three key topics of this course are cryptography, system security, and network security. Subtopics include ciphers, hashes, key exchange, security services (integrity, availability confidentiality, etc.), security attacks, vulnerabilities, exploits, counter measures. Students will be extensive use of a lab for experimenting with security countermeasures.
To introduce different methods of protecting information and data in computer and information systems from unauthorized disclosure and modification. Provide the concepts, properties, and functions of computer/information systems security and controls. Legal and ethical aspects and management's role in planning the security program are also included. Included topics are - Introduction to Information Systems Security, Systems Security and Controls, Special Security Considerations and Aspects, Legal and Ethical Issues, Managerial Issues, Case Studies.
Software implementation: design analysis, test plan, quality assurance plan, software development process selection, development, integration and testing; software testing: unit testing, system testing; software maintenance: purpose of maintenance, effective mechanisms to control software change.
Wireless application protocol (WAP) is an application environment and set of communication protocols for wireless devices designed to enable manufacturer-, vendor-, and technology-independent access to the Internet and advanced telephony services. Positioned at a high level, this course serves as an introduction to WAP, explaining its basic concept, benefits, architecture, and future.
Geometric modeling refers to a collection of methods used to construct mathematical descriptions of real objects which enable computer aided operations. The course intends to provide students with a firm knowledge in three distinct aspects of geometric modeling namely representation, design and rendering, thus laying the firm foundation for practical applications in CADCAM. Included topics are - Parametric Representation of Curves and Surfaces, Bezier Curves and Surfaces, Other Models for Curves and Surfaces, Composite Curves and Surfaces, Solids, Algebraic, Geometric Forms, Surfaces, Curves in Solids, Intrinsic Properties of Curves and Surfaces, Distances Between Geometric Objects.
Many problems encountered in practical situations cannot be solved by analytical methods. Modeling and Simulation can provide, at least, some insight, into them. Moreover, for complex systems, different scenarios may be assessed by simulation experiments, whereby; appropriate measures or decisions may be taken under various complex situations. Included topics are - Introduction to Modeling and Simulation, Discrete and Continuous Systems, Queuing Systems, Markov Chains, Generation of Random Variables, Generation of Multivariate, Auto Regressive Models, Analysis of Simulation Output, Simulation Languages, GPSS.
Traffic Theory, Digital Switches, ATM switching, Frame relay, Packet switching,, IP switching, PCM, PDH, SDH/SONET, DWDM, NGN, ALOHA, S-ALOHA, R-ALOHA, Satellite Communications, Global Fiber Optic Communications, Wireless and Mobile Communications, Introduction to coding theory.
Basic digital design principles, modern programmable logic devices (complex programmable logic devices and field programmable gate arrays), proprietary programmable devices, CPLD and FPGA architecture. Design techniques for advanced combinational and sequential systems, advanced state machine concepts, advanced memory concepts and design techniques. Design entry methods (schematic entry, HDLs and state machine entry) using proprietary CAD packages for programmable devices. Design, synthesis, simulation and testing.
Overview of important issues in high performance digital VLSI design : Interconnect as key limiting factor, wire modeling, clock distribution of high speed system, power distribution, cross talk and power distribution noise. High speed circuit design techniques, Low power design issues, High density and high speed memory design, SOI technology and circuits. VLSI circuits in signal processing, VLSI circuits in wireless communication, Application Specific Integrated Circuit (ASIC) design.
Overview of Telecommunication and data communication networks and their convergence issues, Amplitude modulation (AM) and Frequency modulation (FM) and their demodulation principles, Analog and digital signals, analog to digital conversion, Frequency Division and Time Division Multiplexing, Data networks (LAN , MAN and WAN), Internet, Frame Relay and ATM networks, Introduction to error-control coding and compression (DCT, MPEG, JPEG) and Video (NTSC, PAL, SECAM, HDTV etc.)
Radiowave propagation for fixed and mobile communication systems, The cellular communication techniques, Transmission, Modulation techniques, Pulse shaping, Equalisation and Diversity, Smart antennas, Large-scale and small-scale propagation models, multipath fading, link-budget, interference and frequency reuse, multiple access schemes and system capacity, Trunking and grade of service, Wireless network planning and operation, Architecture and operation of 2G, 2.5G, 3G and beyond mobile technologies.
This course will develop an understanding of and the ability to analyse financial decisions made by firms. Two fundamental problems faced by firms are addressed : how to invest in the business ( capital budgeting ) and how to raise capital to finance the investment ( capital structure policy ). Emphasis is placed on present value techniques, capital budgeting, asset valuation, capital structure decisions and risk management, The interaction between shareholders, firms and the economy via the financial markets will be highlighted.
Computer communications concepts, Layered network architectures and protocol reference models, Systems and technologies for the physical layer, Medium access control protocols, Data link protocols, Network layer functions and protocols, Queuing models, Internetworking concepts, Local Area Networks(LAN), Wide Area/Public telecommunications networks, IP-based networks and services, The TCP/IP suite of protocols, Network applications and application software.
The internet infrastructures and network security, Internet routing protocols, Multimedia communications (VoIP, Real-time protocol), Next generation internet (IPv6, MPLS, GMPLS, DiffServ and IntServ) and grid computing, Networking protocols, The global Internet, Intranet. Scripting and markup languages HTML, XHTML, WML, PHP, Java Scripts, Java applets, Perl, CGI, Python, Ruby, SQL data manipulation via web e.g. MySQL, Introduction to web security.
Introduction to the basic system analysis tools and the procedures for conducting a system analysis, Topics include system requirements, the initial analysis, the general feasibility study, structured analysis, detailed analysis, logical design, and the general system proposal, Current system documentation through use of classical and structured tools and techniques for describing flows, data flows, data structures, file designs, input and output designs, and program specifications. The student will gain practical experience through a project.
Major technical issues in designing and integrating telecommunication networks, Basic concepts in telecom network design, Network architecture, Network reliability, Network design constraints, Network design tools, Balance among several key attributes : performance, reliability, cost, and scalability. Being an application oriented course, students will gain practical experience through two projects using commercial software : OPNET IT GURU (Academic edition ).
Electromagnetic theory of guided waves : Maxwell’s equations, ray optics, wave optics. Optical fibers : mode analysis, solutions for step-index fibers, dispersion and losses, graded-index fiber, single-mode fiber, fiber manufacture, cables and components, connectors, joints and couplers, fiber transducers. Optical sources : laser principles, semiconductor junction lasers, LEDs, fiber interface couplings, laser safety. Detectors : avalanche photo-diode, PIN photo-diode. Electro-optic devices and integrated optics. Fiber communications : digital transmission requirements, pulse dispersion, fiber bandwidth, rise-time, optical transmitters, regenerators, amplifiers, system losses, performance standards, design of digital fiber system, DWDM systems, submarine cables.
Introduction to discrete signal and systems, difference equations, discrete convolution, Z-transform and Fast Fourier transform techniques. Analysis, design and realization of digital filters, Discrete Fourier Transform algorithms, digital filter design procedures, coefficient quantization, finite word length arithmetic, fixed point implementation, limit cycles, noise shaping, decimation and interpolation.
Radio transmitter and receiver, radio broadcasting equipment, digital radio, software defined radio, TV transmitter and receiver, TV standards, TV telecasting equipment, digital terrestrial TV, DVB technology etc.
Orbits : Kepler’s Laws, Newton’s Law, orbital parameters, inclined orbits, geostationary orbit. Space Environment : Mechanical effects, Atmospheric effects (radiation, ionospheric effects, rain attenuation), polarization, propagation. Link Analysis : Equivalent Isotropic Radiated Power, received signal power, noise power at the receiver input, the uplink, the down link, station –to- station link. Satellite Access : FDMA, TDMA, CDMA, Fixed and on-demand assignment, random access, inter-satellite links. Earth Stations : Standards, antennas, radio frequency subsystem, communication subsystem, network interface subsystem. The Payload : Transparent repeaters, multibeam satellite repeater, regenerative repeater, antenna characteristics. The Platform : Altitude control, the propulsion system, the power supply, telemetry, tracking and command, thermal control, satellite tool kit (STK). Satellite Installation : Installation in orbit, launch vehicles, reliability issues, cost issues, network dimensioning. Satellite Services : Broadcasting Satellite Services (DBS, DVB-S), integrated services digital broadcasting- satellite, fixed satellite services (INTELSAT, VSAT), navigational satellite services (NAVSTAR GPS), earth resource satellite services (Radarsat, NOAA), mobile satellite services, international space station, satellite internet, rural access point for remote-area communications.
The cellular concept – system design fundamentals : Introduction, frequency re-use, channel assignment strategies, handoff strategies, interference and system capacity, trunking and grade of service, improving coverage and capacity in cellular systems, cellular propagation environment. GSM (Global System for Mobile) : Introduction, GSM services and features, GSM System Architecture, GSM radio subsystem, GSM channel types, frame structure for GSM, signal processing in GSM, GMSK used in GSM, ALOHA, FDMA and TDMA, GPRS and EDGE.
Introduction to 3G cellular systems, cellular propagation environment for 3G radio links, standardization processes, evolution from GSM to UMTS, UMTS network architecture, introduction to WCDMA, modulation/demodulation methods made available at the network level, handover, power control, radio access network architecture, physical layer, radio interface protocols, WCDMA radio network planning, radio resource management, packet access, physical layer performance.
General systems concepts, systems/software engineering standards, Petri nets, reachability analysis, modeling with petri nets, coloured petri nets, modeling with colored petri nets, petri net computer support tools, application to a variety of systems. Applications of queueing networks to determine computer and communication system performance. Discrete simulation of computer and communications systems. Network modeling of system reliability. Industrial case studies of computer systems design.
Elements of computer simulations, modeling deterministic and stochastic systems, generation of random numbers and variables, probability and statistics related to modeling, validating, running, and of interpreting computer simulations.
JAVA Programming Fundamentals, introduction to the core aspects of the Java programming language upon which all Java application development is based. Application development for the Java 2 Enterprise Edition (J2EE) that includes Java Server Pages, Servlets and Enterprise Java Beans. Java in Web development, capabilities of Java servlets, their advantages over CGI, the Java servlet architecture, JDBC, session management and security, application development for J2ME.
Key concepts and technologies behind E-business, the opportunities and challenges of doing business on the internet, business models and their patents, foundations of E-commerce, retailing in E-commerce, internet consumers and market research, advertisement in E-commerce, E-commerce for service industries, business-to-business E-commerce, electronic payment systems, E-commerce strategy and implementation, legal and ethical issues, infrastructure for E-commerce, overview of internet technologies, database-backed web technologies, XML and its applications, information security.
Types of media, Multimedia signal characteristics : sampling, digital representation, signal formats. Signal coding and compression : entropy coding, transform coding, vector quantization. Coding standards : H.26x, LPEG, MPEG. Multimedia communication networks : network topologies and layers, LAN, MAN, WAN, PSTN, ISDN, ATM, FRAME RELAY, GEN, NGN, internetworking devices, the internet and access technologies, enterprise networks, WLANs and wireless multimedia. Entertainment networks : cable, satellite and terrestrial TV networks, ADSL, VDSL, high speed modems. Transport protocols : TCP, UDP, IP, IPv4, IPv6, FTP, RTP, RTCP, use of MPLS and WDMA. Multimedia synchronization, security, QoS and resource management. Multimedia applications : The WWW, internet telephony (VoIP), teleconferencing, HDTV, email and e-commerce.
Risk Analysis and threat, Access Control and Authentication, The Technology of Security, Security at the Lower levels, Upper-Level Security Services, Security Services in Business and Government, The Planning, Design, and Installation of Secure Systems, Operating a Successful and Secure System, The Future. The three key topics of this course are cryptography, system security and network security will be covered.
Logical organization of databases, the entity-relationship model, the hierarchical network, and relational data models and their languages, functional dependencies and normal forms. Design, implementation and optimization of query languages, security and integrity, concurrency control and distributed database systems. Topics include the relational roots, distributed and parallel databases, object databases and extensibility, semistructured data and XML, web research, benchmarks and current directions in the field.
Programming small devices with limited processor and memory capabilities such as programming mobile devices as mobile phones, smart phones, PDAs, programming smart cards as credit cards, biometric identity cards, programming small hardware devices as microcontroller, TV, microwave oven etc. utility electronic goods. Introduction to handheld devices, architecture of midlets, introduction to Java wireless tool kits, game programming and performance tuning, personal information management, xml parsing on wireless devices, RMI and HTTP services on midlets, database application on handheld devices, sms programming.
Introductory description of the major subjects and directions of research in AI, topics include AI languages (LISP and PROLOG), basic problem solving techniques, knowledge representation and computer inference, machine learning, natural language understanding, computer vision, robotics, and societal impacts.
Consideration at an advanced level of the major elements of marketing from the point of view of the marketing executive. Emphasis on problem solving and decision-making using an interdisciplinary approach. Development of an integrated, comprehensive marketing strategy. Database marketing. Electronic commerce and interactive marketing.