22
Subject: Computer Science 1 (COSC) Special Course Units Status Pre-requisite COSC 44014 System Analysis and Design C COSC 11014 COSC 44024 Object Oriented Analysis and Design C COSC 12025 COSC 44034 Computer Architecture and Design C COSC 11014 COSC 44045 Advanced Database Systems with Applications C COSC 22025 COSC 44055 Logic Programming C COSC 12025 COSC 44064 Machine Learning C COSC 11014 COSC 44074 Theoretical Aspects of Computer Graphics O COSC 12025 COSC 44084 Data Security O COSC 31014 COSC 44094 Software Engineering O COSC 44014 COSC 44104 Software Project Management O COSC 44014 or COSC 44094 COSC 44114 Multimedia Systems Development O COSC 31014 COSC 44124 Wireless Communication and Networks O COSC 31014 COSC 44134 Theory of Computation O COSC 11014 COSC 44144 Compiler Theory O All COSC compulsory course units COSC 44154 Digital Image Processing O COSC 44074 COSC 44164 Data Mining and Warehousing O COSC 22025 and COSC 44045 COSC 44174 e-Business Technologies O COSC 11014 COSC 44184 Natural Language Processing O COSC 44194 Special Topics in Computer Science O COSC 43206 Research Project C Year 3 and Year 4 COSC 43214 Industrial Training O All COSC compulsory course units 1 Restricted enrolment. 1

Subject: Computer Science1(COSC) Special Course …science.kln.ac.lk/web/downloads/syllabus_2008_2009/COSC_(Special).… · Subject: Computer Science1(COSC) Special Course Units Status

Embed Size (px)

Citation preview

Subject: Computer Science1(COSC)

Special Course Units Status Pre-requisite

COSC 44014 System Analysis and Design C COSC 11014 COSC 44024 Object Oriented Analysis and Design C COSC 12025

COSC 44034 Computer Architecture and Design C COSC 11014 COSC 44045 Advanced Database Systems with Applications C COSC 22025

COSC 44055 Logic Programming C COSC 12025 COSC 44064 Machine Learning C COSC 11014 COSC 44074 Theoretical Aspects of Computer Graphics O COSC 12025

COSC 44084 Data Security O COSC 31014 COSC 44094 Software Engineering O COSC 44014

COSC 44104 Software Project Management O COSC 44014

or COSC 44094

COSC 44114 Multimedia Systems Development O COSC 31014 COSC 44124 Wireless Communication and Networks O COSC 31014

COSC 44134 Theory of Computation O COSC 11014

COSC 44144 Compiler Theory O All COSC

compulsory course units

COSC 44154 Digital Image Processing O COSC 44074

COSC 44164 Data Mining and Warehousing O COSC 22025

and COSC 44045

COSC 44174 e-Business Technologies O COSC 11014 COSC 44184 Natural Language Processing O COSC 44194 Special Topics in Computer Science O COSC 43206 Research Project C

Year 3 and

Year 4

COSC 43214 Industrial Training O

All COSC compulsory course

units

1 Restricted enrolment.

1

Jump to Main Page

Level 4 Course Code : COSC 44014 Course Title : Systems Analysis and Design Pre -requisites : COSC 11014 Co-requisites : None Learning Outcomes: At the end of this course a student should be able to explain the key principles and techniques of systems analysis and design, and the ways in which they are employed in the development of information systems to meet the needs of organizations. Particular emphasis will be given to the study of the role that analysts are expected to play in systems development. Course Content : An Introduction to the Systems Process, The Systems Development Life Cycle, Systems Analysis and Modeling, The Philosophy and Techniques of Systems Design, Prototyping, Modeling Tools for the Systems Analyst, Systems Implementation and Management, Quality Assurance and Testing, Maintaining and Managing the Systems Process, Issues in Information Systems Project Management. Method of teaching and learning: A combination of lectures and tutorials. Assessment: End of course examination, assignments and/or seminars. Recommended reading: 1. Whitten et al, Systems Analysis and Design Methods, (2002), McGraw-Hill. 2. Perry Edwards, Systems Analysis and Design, (1993), McGraw-Hill. 3. Kenne!h E. Kendall and Julie E. Kendall, Systems Analysis and Design, (1998, 4th Edition), Prentice Hall.

Jump to Main Page

2

Jump to Main Page

Course Code :COSC 44024 Course Title : Object Oriented Analysis and Design Pre -requisites : COSC 12025 Co-requisites : None Learning Outcomes: After successful completion of the course unit, a student should be able to design software in an object-oriented environment and be able to use UML as a notation to support this design. Course Content : The course covers life-cycle and tasks for OO software development, up to, the actual writing of code; Object Concepts: Objects ,Classes, Inheritance, Software Development Methodology, Using UML, CRC Cards, Requirements Capture, Business Perspective, Developer Perspective, Analysis: Introduction, Static Analysis, Dynamic Analysis; System Design: Introduction, Networked System Topologies, Choosing Technologies, Partitioning Software, Subsystem Design, Designing the Business Logic, Persistence using a Relational Database, Finalizing the User Interfaces, Designing the Business Services, Thread Safety; Code Specification: Object-Oriented Specification, Design by Contract, Informal Specification in Java, UML Notation will be used throughout the course unit. Practical Sessions: Programming using Java/C++ Method of teaching and learning: A combination of lectures, tutorial and practical sessions Assessment: End of semester examination, practical examination and assignments. Recommended reading: 1. Booch, Rumbaugh and Jacobson., The Unified Modeling Language User Guide,(1996), Pearson

Education. 2. Eriksson and Penker., UML Toolkit, (1998), John Wiley & Sons. 3. Wu, T., An Introduction to Object-Oriented Programming with Java. (2001, 2nd Edition), McGraw

Hill. 4. Gamma et al. , Design Patterns: Elements of Reusable Object-Oriented Software, (1995), Addison-

Wesley, Reading, MA.

Jump to Main Page

3

Jump to Main Page

Course Code :COSC 44034 Course Title : Computer Architecture and Design Pre -requisites : COSC 11014 Co-requisites : None Learning Outcomes: At the end of this course the student should be able to describe the important aspects of the hardware of a conventional computer and the architectural features of microprocessors provided to support efficient computation. Course Content : Introduction to Computer Organization, Architecture and Design Concepts; Basic Principles: Boolean Algebra, Combinational and Sequential circuits, logic design techniques, Karnaugh map, Latches, Flip-flops, Half-adder, Full-adder, counters and Shift registers; Classification of Processor architectures: SISD, SIMD and MIMD; Instruction sets: Sequential execution of the instructions with respect to a single Processor, Machine instruction characteristics, Instruction set design, Addressing modes and formats, Instruction Pipelining; Input and Output: I/O modules, System bus, I/O channels and processors; CPU Structure: Processor and register organization, Design of ALU, Arithmetic, Shift and logic control systems, RISC machine and parallel architectures. Memory Management: Memory hierarchy, Virtual memory and Cache memory, Performance comparison. Programmed data transfer: Interrupts and interrupt handling systems. Assembly language programming Method of teaching and learning: A combination of lectures and tutorials. Assessment: End of course examination and assignments. Recommended reading: 1. Stallings W., Computer Organization and Architecture, (2002, 5th Edition), Prentice Hall International Inc. 2. Ram B., Computer Fundamentals, (1995), Wiley Eastern Limited. 3. Tananbaum A. S., Structrued Computer Organization, (1990, 3rd Edition), Prentice Hall International Inc. . 4. Morris Mano M., Computer System Architecture, (3rd Edition), Prentice-Hall International Inc.

Jump to Main Page

4

Jump to Main Page

Course Code :COSC 44045 Course Title : Advanced Database Systems with Applications Pre -requisites : COSC 22025 Co-requisites : None Learning Outcomes: At the end of this course module a student should be able to demonstrate the theoretical knowledge on advanced database management system design principles and techniques, and practical skills on applications of them. Course Content : Relational database design; More on SQL; Physical data organization and Indexing: Basics, ISAM, B-tree, more trees, hashing, textual, distributed/P2P indexing; Query processing: scan, sort, hash, index-based, systems view; Buffer management; Query optimization: Rewrite, cost estimation, algorithms; Online query processing and optimization, downsizing the DBMS; Transaction Processing Concepts; Concurrency Control Techniques; Practical Database Design and Tuning; Database Recovery Techniques; Object-Oriented Databases; Deductive databases; Emerging Database Technologies and Applications; Distributed Databases and Client-Server Architecture; XML, DTD, XPath, XQuery, XSLT, XML storage, XML indexing, streaming XML; Database Security and Authorization; Enhanced Data Models for Advanced Applications; Recent advances in database systems such as Spatial and Active Databases; Introduction to Data warehousing and data mining. Method of teaching and learning: A combination of lectures, tutorials, assignments and group projects. Assessment: End of semester examination, practical examination and assignments. Recommended reading: 1. Ullman, J. D. and Widom, J., Database Systems: The Complete Book, (2002), Hector Garcia-Molina,

Prentice Hall. 2. Stonebraker M., and Hellerstein, J. M., Readings in Database Systems, (1998, 3rd Edition), Morgan

Kaufman. 3. Elmasri, R. and Navathe, S. B., Fundamentals of Database Systems (2006, 5th Edition), Addison-

Wesley Longman Publishing Co., Inc. 4. McFadden, F. R., Hoffer, J. A. and Prescott, M. B., Modern Database Management (2006, 8th Edition),

Pearson Education Series. 5. Ramakrishnan, G., Database Management Systems, (2002, 3rd edition), McGraw-Hill. 6. Hansen, G. W. and Hansen, J. V., Database Management and Design, (2002, 2nd Edition), Prentice

Hall. 7. Brundage, M., XQuery: The XML Query Language, (2004), Addison Wesley Longman Publishing Co.,

Inc.

Jump to Main Page

5

Jump to Main Page Course Code :COSC 44055 Course Title : Logic Programming Pre -requisites : COSC 12025 Co-requisites : None Learning Outcomes: At the end of this course the student should be able to explain theoretical aspects of an Intelligent Knowledge Based System, and demonstrate skills in writing programs using PROLOG. Course Content : Introduction: Introduction to Artificial Intelligence (AI), Major areas of AI, Description of Intelligent Knowledge Based Systems (IKBS); Knowledge and Reasoning: Knowledge representation and types of reasoning; Declarative/Procedural Programming Languages; Logic Programming: Introduction to Logic Programming using PROLOG. Basic Concepts: Facts, Rules and Queries, Data Objects, Goal Matching, Unification and Backtracking, Recursion in Prolog, List manipulation in Prolog; Search strategies and Search trees; Cut and Negation: The Use of the Cut, Negation as Failure, Problems with Cut and Negation, Implementing IF-THEN-ELSE condition; Input and Output: Input and Output in Prolog, Communicating with files, Processing files of terms. Advanced features in Prolog: Difference Lists, Binary Trees in Prolog; Some applications of Prolog: Searching and Sorting Techniques, Problem solving, Theorem proving, Database applications, etc.; Logic and Prolog: Deductive reasoning in Propositional and Predicate Logic, Resolution in Propositional and Predicate Logic, First-order Predicate logic, Prolog and First-order Predicate logic, Writing Logical Statements, Conversion of Logical Statements into Normal Form, Unification, Unification algorithm, Resolution principle, Connection Graph proof procedures. Method of teaching and learning: A combination of lectures, assignments and practical classes. Assessment: End of course examination, assignments and practical examination. Recommended reading: 1. Bratko, Ivan, Prolog Programming for Artificial Intelligence, (1988, 2nd Edition), Addison-Wesley. 2. Sterling, L & Shapiro, E., The Art of Prolog, (1986), The MIT Press. 3. Kaushik Saroj, Logic and Prolog Programming (2007, 1st Edition), New Age International Publishers,

India. 4. Russel, S. and Norvig, P., Artificial Intelligence – A Modern Approach (2005, 2nd Edition), Prentice-

Hall of India Private Limited. 5. Shinghal, R., Formal Concepts in Artificial Intelligence, (1992, 1st Edition), Chapman & Hall. 6. Luger, G. F.& Stubblefield, W. A., Artificial intelligence, (1993, 2nd Edition) The Benjamin/ Cummings

Publishing Company, Inc. 7. Mc Donald C, Yazdani M., Prolog Programming, (1990, 1st Edition), Blackwell Scientific Publications.

Jump to Main Page

6

Jump to Main Page Course Code : COSC 44064 Course Title : Machine Learning Pre -requisites : COSC 11014 Co-requisites : None Learning Outcomes: At the end of this course module a student should be able to demonstrate the ability to solve problems using learning algorithms, neural networks and genetic algorithms. Course Content : Learning: Learning Agent, Concept of learning, Nature inspired and other types of learning, Decision tree learning; Artificial Neural Networks: Basic Models, Hopfield Model, Design and implementation, Perceptrons, Multilayer Networks and Backpropagation, Counterpropagation and recurrent networks; Statistical Training: Evaluating hypotheses, Bayesian learning, Bayesian belief networks, Optimal Classifiers, Computational learning theory, Vapnic-Chervonenkis Dimension, Mistake bound analysis, Sample complexity analysis, Instance-based learning; Genetic Algorithms: Schemata, Design and implementation, Genetic operations, Hypothis Space search, Genetic Programming, Models of Evolution and Learning; Inductive and Analytical Learning; Reinforcement Learning; Classifier Systems; Selected applications in data mining, automated knowledge acquisition, pattern recognition, program synthesis, text and language processing, internet-based information systems, human-computer interaction, semantic web, bioinformatics and computational biology. Method of teaching and learning: A combination of lectures and assignments. Assessment: End of course examination and assignments. Recommended reading: 1. Mitchell, T. M., Machine Learning, (1997), McGraw-Hill International Editions. 2. Bishop, C., Pattern Recognition and Machine Learning, (2006), Springer-Verlag. 3. Hertz, J., Krogh, A. and Palmer, R. G., Introduction to The Theory of Neural Computation, (1991),

Addison-Wesley Publishing Company. 4. Goldberg, D. E., Genetic Algorithms, (1989), Addison-Wesley Publishing Company. 5. Rao, M. A. and Srinivas, J., Neural Networks, (2004), Narosha Publishing House Pvt. Ltd. 6. Mehothra, K., Mohan, C.K. and Ranka, S, Artificial Neural Networks,(1997), Oxford University Press. 7. Looney, C.G., Pattern Recognition Using Neural Networks, (2000), MIT Press.

Jump to Main Page

7

Jump to Main Page Course Code : COSC 44074 Course Title : Theoretical Aspects of Computer Graphics Pre -requisites : COSC 12025 Co-requisites : None Learning Outcomes: At the end of this course module a student should be able to explain the concepts behind computer graphics and be able to apply the techniques and algorithms for modeling and rendering 2D and 3D graphical objects. Course Content : Hardware and software components of graphics systems. Fundamental techniques in graphics Output and filled data primitives. Graphic systems, Scan conversions, 2D and 3D geometric transformations. Two dimensional viewing: viewing pipeline, clipping, and windowing. Three dimensional viewing: viewing pipeline, viewing parameters, projections, viewing transformations, clipping, visible surface detection. Basic rendering, Introduction to illumination models and surface rendering, Geometric modelling and representations, Computer animation, Visualization. Practical Sessions: Programming using OpenGL Method of teaching and learning: A combination of lectures, assignments and practical classes. Assessment: End of course examination, assignments and practical examination. Recommended reading: 1. Hearn, D. and Baker, M.P., Computer Graphics with OpenGL, (2004, 3rd Edition), Prentice Hall. 2. Giambruno M., 3D Graphics&Animation, (2002), Prentice Hall. 3. Hearn, D. and Baker, M.P., Computer Graphics C Version, (1997, 2nd Edition), Prentice Hall. 4. Foley, J. D., van Dam, A, Feiner, S. K. and Hughes, J. F., Computer Graphics, (2002, 2nd Edition),

Pearson Education. 5. Xiang, Z. and Plastock, R., Theory and Problems of Computer Graphics, (2005, 2nd Edition), Tata

McGraw-Hill Publishing Company Limited New Delhi.

Jump to Main Page

8

Jump to Main Page Course Code : COSC 44084 Course Title : Data Security Pre -requisites : COSC 31014 Co-requisites : None Learning Outcomes: At the end of this course module a student should be able to explain and analyze the need for good security management and should be able to identify the security attacks associated with computer networks and how to provide security against such attacks. Course Content : An introduction to cryptography and security mechanisms: Security Services, mechanisms and Attacks; Conventional cryptography: Symmetric Ciphers, Block Ciphers; Modular Arithmetic; Public-key cryptography: Key management, Message Authentication and Hash functions, Digital Signatures and Authentication Protocols; Network security: Protection of data transferred over commercial information networks, Generic security technologies relevant to networks, user identification techniques, authentication protocols and key distribution mechanisms, Electronic mail security, IP Security, Web Security; Computer Security: Defining security requirements (security policy). Intruders, Malicious Software, Firewalls, Security models, The main security features and mechanisms in operating systems, Security-related issues of computer architecture. Security of Middleware: Software protection, Standards and security evaluation criteria, Security-related standards, Guidelines for managing IT security. Method of teaching and learning: A combination of lectures and assignments. Assessment:End of course examination and assignments. Recommended reading: 1. Stallings, W., Cryptography and Network Security, (2004, 3rd Edition), Prentice-Hall of India Private

Limited. 2. Pfleeger, C. P. and Pfleeger, S. L., Security in Computing, (2005, 3rd Edition), Pearson Education. 3. Bishop, M., Introduction to Computer Security, (2005), Addison-Wesley, Pearson Education, Inc. 4. Carroll, J M, Computer Security, (1996), Butterworth-Heinemann. 5. Leiss ,E.L., Principles of Data Security, (1962), Plenum Press.

Jump to Main Page

9

Jump to Main Page Course Code : COSC 44094 Course Title : Software Engineering Pre -requisites : COSC 44014 Co-requisites : None Learning Outcomes: At the end of this course module the student should be able to explain the principles behind software engineering processes and the strengths and weaknesses of various software processes, produce simple analyses, designs, implementations and test suites for small systems Course Content : Software Process: Software products, Software processes, Software life-cycle and process models, process assessment models, Team work in the software process, Professional responsibility; Software requirements and specifications: Requirements elicitation, requirements analysis modeling techniques, functional and nonfunctional requirements, prototyping, basic concepts of formal specification techniques; Software Design: Fundamental design concepts and principles, design patterns, software architecture, structured design, object-oriented analysis and design, design for reuse; comparison of design strategies, User interface design; Software Reliability: Software reliability metrics, Programming for Reliability, Software Reuse. Verification and Validation: Validation planning, testing fundamentals, including test plan creation and test case generation, black-box and white-box testing techniques, unit integration, validation, and system testing, object oriented testing, inspections; Software evolution: Software maintenance, characteristics of maintainable software, Configuration management, Software Reengineering, Legacy systems, Safety critical systems, Security critical systems, Software reuse. Method of teaching and learning: A combination of lectures and assignments. Assessment:End of course examination and assignments. Recommended reading: 1. Sommerville, I., Software Engineering, (8th Edition) 2. Pressman, R. S., and Ince, D., Software Engineering: A Practitioner's Approach, (1992, 5th Edition),

McGraw Hill. 3. Ghezzi, C., Jazayeri, M., and Mandrioli, D., Fundamentals of Software Engineering, (2002), Prentice

Hall. 4. Goodbole, N. S., Software Quality Assurance, (2004), Narosha Publishing House Pvt. Ltd.

Jump to Main Page

10

Jump to Main Page Course Code : COSC 44104 Course Title : Software Project Management Pre -requisites : COSC 44014 or COSC 44094 Co-requisites : None Learning Outcomes: At the end of this course module a student should be able to explain how a project can be broken down into stages and what each stage contributes to the project, be able to select appropriate techniques for use in the stages of a project, be able to justify the appropriateness of these techniques, and apply them to practical situations, be able to explain the limitations of the project approach in developing information/software systems. Course Content : Software Project Management Techniques and Concepts: The profile of a project, understanding and decomposing the task, Estimation and risk, Scheduling and resourcing, Monitoring and control, Quality assurance, Maintenance, Cost benefit analysis, Software project documentation issues, The project team and the project manager, Alternative approaches and emerging issues, Human Resource Management, Professional, legal and ethical issues, Computer crime, Computer law in Sri Lanka. Method of teaching and learning: A combination of lectures and assignments Assessment: End of course examination and assignments. Recommended reading: 1. Yeates, D. and Cadle, J., Project Management for Information Systems, (1996, 2nd Edition) , Pitman

Publishing. 2. Pressman, R. S., Software Engineering, (1997, 4th Edition), McGraw-Hill. 3. Kemerer, C. F., Software Project Management: Readings and Cases, (1997), IRWIN Publishers. 4. Hughes, B. , Cotterell, M., Software Project Management, (2002), McGraw-Hill.

Jump to Main Page

11

Jump to Main Page Course Code : COSC 44114 Course Title : Multimedia Systems Development Pre -requisites : COSC 31014 Co-requisites : None Learning Outcomes: At the end of this course module a student should be able to describe the characteristics of multimedia systems and how to address issues, be aware of the differences among multimedia authoring systems, be familiar with the software development process as practiced in a multimedia development environment. Course Content : Introduction to Multimedia: Multimedia and Hyper media, Components of multimedia, Multimedia authoring and tools; Graphics and Image Representation: Text, Images, Audio and Video representation. Image data types, Colour lookup tables, File formats, Graphics animation files; Colour in Image and Video: Colour science, Colour models in images, Colour models in video; Concepts in Video: Types of video signals, Analog video, Digital video; Digital Audio: Digitization of sounds, Quantization and Transmission of audio, Musical Instrument Digital Interface (MIDI); Multimedia Data Compression: Lossless compression algorithms, Lossy compression algorithms, Text and Image compression, Image compression standards, Video compression techniques, Audio compression techniques, MPEG audio and video compression; Multimedia Communication: Computer and Multimedia networks, Multimedia network communications and applications, Wireless networks, Multimedia over wireless networks, Entertainment networks; Practical applications using a suitable multimedia authoring tool. Method of teaching and learning: A combination of lectures and assignments. Assessment: End of course examination and assignments. Recommended reading: 1. Li, Z., and Drew, M. S., Fundamentals of Multimedia, (2005), Pearson Education. 2. Halsall, F., Multimedia Communications, (2001), Addison-Wesley. 3. Andleigh, P. K., and Thakrar, K., Multimedia Systems Design, (1998),Prentice-Hall. 4. Zendler, A., Haggenmüller, R. and Schwärtzel, H., Multimedia Development Systems: With Methods for

Modeling, (1998), Tectum Verlag DE.

Jump to Main Page

12

Jump to Main Page Course Code : COSC 44124 Course Title : Wireless Communication and Networks Pre -requisites : COSC 31014 Co-requisites : None Learning Outcomes: At the end of this course module a student should be able to explain and analyze the underlying principles, issues and design methodologies of wireless networks. Course Content : Introduction to wireless communication technology, Protocols and TCP/IP Suite, Antennas and propagation of signals, Signal encoding and decoding, Spread spectrum, Multiple access methods, Coding and error control, Satellite communications, Cellular wireless networks, Cordless systems and wireless local loop, Wireless LAN technology and Standards, Bluetooth, GPRS and 3G wireless systems. Method of teaching and learning: A combination of lectures and assignments. Assessment:End of course examination and assignments. Recommended reading: 1. Stallings, W., Wireless Communications and Networking, (2004), Prentice-Hall of India Private limited,

New Delhi. 2 Vijay Kumar and Garg, V.K., Wireless communication systems, (2007), Elsevier Science &

Technology.

Jump to Main Page

13

Jump to Main Page Course Code : COSC 44134 Course Title : Theory of Computation Pre -requisites : COSC 11014 Co-requisites : None Learning Outcomes: At the end of this course module a student should be able to explain and analyze the advanced concepts of the theory of computation. Course Content : Regular Languages and Expressions: Finite Automata, Deterministic and Nondeterministic Finite Automata, Kleene's Theorem, Criteria for Regularity, Regular expressions, Pumping lemma, Closure properties of Regular languages; Context-Free Languages: Context free grammars, Derivation Trees and Ambiguity, Simplified and Normal Forms, Chomsky Normal Form, Gireibach Normal Form; Pushdown Automata: Pushdown Automata (PDA) and Context-Free Languages (CFLs) and Nondeterministic CFLs; Turing Machines: P, NP and NP complete Problems, Reusability, Undecidability, Recursively Enumerable Languages; Computability and Complexity Theory. Method of teaching and learning: A combination of lectures and assignments. Assessment: End of course examination and assignments. Recommended reading: 1. Natarajan, A.M., Tamilarasi, A., and balasubramani, P., Theory of Computation, (2007), New Age

International Bublishers. 2. Xavier, S. P. E., Theory of Automata, Formal Languages and Computation, (2007), New Age

International Bublishers. 3. Martin ,J.C., Introduction to Languages and Theory of Computation, (1996), McGraw Hill. 4. Sipser, M., Introduction to the Theory of Computation, PWS Publishing Co. 5. Hopcroft, J. E., Motwani, R. and Ullman, J.D., Introduction to Automata Theory, Languages and

Computation, (2nd Edition, 2002), Pearson Education.

Jump to Main Page

14

Jump to Main Page

Course Code : COSC 44144 Course Title : Compiler Theory Pre -requisites : All COSC core course units. Co-requisites : None Learning Outcomes: At the end of this course module a student should be able to explain and analyze the advanced concepts on compiler construction, operation and its applications. Course Content : Motivation for studying compilers; desirable qualities of a compiler; tracing the compilation of an example expression; lexical analysis and DFAs; tokens and lexemes; syntax analysis and CFGs and PDAs; semantic analysis, symbol tables, Tracing the compilation of an example expression (continued); translation and instruction selection; the compiler as a frontend/backend pair; intermediate languages; the frontend composed of a scanner and parser; role of scanner and parser, parse tree nodes, Implementing parse tree behaviour, The backend composed of instruction selection, register allocation, and instruction scheduling; optional optimization phase between the frontend and backend; difficult language features; introduction to lexical analysis; scanner generators; specifying patterns for scanners; formal languages; regular expressions and regular languages; operations; More regular expression examples; scanner generation theory; definition of finite automata; DFA vs. NFA; transition diagrams; examples; table implementation of DFA; relationship of generators and their advantages; acceptance in an NFA; equivalence of RE, DFA, & NFA, Role of the parser; formal vs. informal descriptions of programming languages; context free grammars and their advantages; derivations and parse trees; leftmost & rightmost derivations; different derivations producing difference precedence of operators; enforcing precedence; ambiguity, rearranging grammar to eliminate ambiguity; dangling else solutions; common grammar constructs; parsing and role of parser; desirable properties of a single-scan parser, Introduction to LL(1) and LR(1); top-down vs. bottom-up parsers; predictive parsing & recursive descent parsing; problems with left recursion; eliminating left recursion, Introduction to semantic analysis; name binding and type checking; name binding and scoping rules in the Tiger language; separate name spaces for types and variables; predefined names; Symbol tables and associated operations (insert, lookup, delete); hash tables with chaining; keeping track of scopes; hash table with inter-twining linked list, Type checking constructs: function call, array and record access, if-then-else, while & for loops, and declarations of types, variables, arrays, records, and functions; Activation records/frames and their format; code for calling linkage; different storage locations for variables; accessing lexically nested variables; de Bruijn notation, garbage collection; reference counting; mark-n-sweep, copying collection; generational copying collection; introduction to compiler optimization; types of optimization: execution speed, code size, power consumption, etc.; safety of compiler transformations, Register allocation; historical perspective; the graph coloring problem; NP Completeness of problems; liveness of variables and the interference graph; graph simplification algorithm; spilling; enhancements: coalescing, optimistic coloring, and node merging. Method of teaching and learning: A combination of lectures and assignments. Assessment:End of course examination and assignments. Recommended reading: 1. Holmes, J., Building Your Own Compiler with C++, (1995), Prentice Hall. 2. Barrett, W.A., Compiler Construction: Theory and Practice, (1986), Science Research Associates. 3. Aho, A. V. and Ullman, J. D., Principles of Compiler Design, (2002), Narosha Publishing House Pvt.

Ltd.

Jump to Main Page

15

Jump to Main Page Course Code : COSC 44154 Course Title : Digital Image Processing Pre -requisites : COSC 44074 Co-requisites : None Learning Outcomes:At the end of this course module a student should be able to demonstrate skills on how to apply analytical tools and methods which are currently used in digital image processing as applied to image information for human viewing. Course Content : Image Sensing and Digital Image Representation, Image Analysis, Human Visual Perception; Image Enhancement: Smoothing and Image restoration; System models: Gray scale models, histogram models; Image Transforms: Discrete transforms, Fourier transforms, Discrete cosine transforms, Walsh-hadamard, Haar, PCT, Filtering, Wavelet transformation, Wavelets and Multiresolution Processing; Image Compression; Pseudo colour; Morphological Image Processing. Method of teaching and learning: A combination of lectures and assignments. Assessment: End of course examination and assignments. Recommended reading: 1. Gonzalez, R. C. and Woods, R. E., Digital Image Processing, (2002), Prentice Hall. 2. Pratt, W. K. , Digital Image Processing : PIKS Scientific Inside, (2007), John Wiley & Sons. 3. Fu, K. S. and Young, T. Y., Handbook of Pattern Recognition and Image Processing, (1986), Academic

Press.

Jump to Main Page

16

Jump to Main Page Course Code : COSC 44164 Course Title : Data mining and warehousing Pre -requisites : COSC 22025 and COSC 44045 Co-requisites : None Learning Outcomes: At the end of this course module the student should be able to explain and analyze advanced aspects of data warehousing and data mining, encompassing the principles, research results and commercial application of the technologies. Course Content : Review of database technology underpinning data warehousing and data mining; Data warehouse logical design: Star schemas, Fact tables, Dimensions, Snowflake schemas, Dimension hierarchies, Data marts. Data warehouse physical design: Partitioning, Parallelism, Compression, Indexes, Materialized views; Data warehouse construction: Data extraction, Transformation, Loading and refreshing, Data warehouse support in Oracle, Warehouse metadata. From data warehousing to data mining: OLAP architectures, OLAP operations, SQL extensions for OLAP. Data mining approaches and applications: Data mining technologies and implementations, Techniques for mining large databases, Data mining support in SQL Server, Oracle, Clementine, Data mining standards. Method of teaching and learning: A combination of lectures and assignments. Assessment:End of course examination and assignments. Recommended reading: 1. Jarke, M, and et al., Fundamentals of Data Warehouses, (2003, 2nd Edition), Springer. 2. Han, J. and Kamber, M., Data Mining Concepts and Techniques, (2001), Morgan Kaufmann. 3. Seidman, C., Data Mining with Microsoft SQL Server 2000 Technical Reference, (2001, 1st Edition),

Microsoft Press. 4. Nagabhushana, S., Data Warehousing OLAP and Data Mining, (2007), New Age International (P)

Limited Publishers.

Jump to Main Page

17

Jump to Main Page

Course Code : COSC 44174 Course Title : E-Business Technologies Pre -requisites : COSC 11014 Co-requisites : None Learning Outcomes: At the end of this course module the student should be able to explain and analyze advanced aspects of e- commerce and steps involved in launching an online business. Course Content : Foundations of Information Systems in Business, Components of e-Business, Competing with Information Technology, Comparison of e-Marketing with traditional marketing , Managing Data Resources, Functional and Cross-Functional e-Business Systems, Enterprise e-Business Systems in Practice, Electronic Commerce Systems, Decision Support in e-Business, Developing e-Business Strategies, Developing E-Business Solutions, Electronic Payment Systems, Evaluation of EPSs, Comparison of EPS with traditional payment systems, Electronics Funds Transfer, Payment Cards, Electronic cash, electronic checks and electronic wallets, Tools and Technologies for secure EPS, Security Management of e-Business, Legal and Ethical Issues in e-Business. Method of teaching and learning: A combination of lectures and assignments. Assessment:End of course examination and assignments. Recommended reading: 1. Napier, H. A., E-Business Technologies, (2002), Thomson Course Technology. 2. Bidgoli, H., Electronic Commerce: Principles and Practice, (2002), Academic Press, New York. 3. Deitel, H. M., Deitel, P. J. and Steinbuhler, K., e-Business and e-Commerce for Managers, (2001),

Prentice-Hall, New Jersey. 4. Elsenpeter, R. C. and Velte, T. J., E-Business: A Beginner’s Guide, (2001), Osborne, McGraw-Hill. 5. Amor, D., Electronic Business Revolution, (2000), Prentice Hall, NJ.

Jump to Main Page

18

Jump to Main Page Course Code : COSC 44184 Course Title : Natural Language Processing Pre -requisites : All COSC core course units. Co-requisites : None Learning Outcomes: At the end of this course module the student should be able to demonstrate the ability to explain and analyze the theory and practices involved in building computer systems for human language processing. Course Content : Introduction and Overview, Regular Expressions, String Edit Distance and Alignment, Context Free Grammars, Non-probabilistic Parsing, Information Theory, Language modeling and Naive Bayes, Part of Speech Tagging and Hidden Markov Models, Viterbi Algorithm for Finding Most Likely HMM Path, Probabilistic Context Free Grammars, Parsing with PCFGs, Maximum Entropy Classifiers, Maximum Entropy Markov Models & Conditional Random Fields, Lexical Semantics, Machine Translation, Unsupervised Language Discovery, Topic Models and Language in Social Networks, Pragmatics, Information Extraction & Reference Resolution. Method of teaching and learning: A combination of lectures, tutorials, assignments and group projects. Assessment:End of semester examination, practical examination and assignments. Recommended reading: 1. Jurafsky, D. and Martin, J. H., Speech and Language Processing, (2004), Pearson Education. 2. Lutz and Ascher, Learning Python, O'Reilly. 3. Manning and Schutze, Statistical Natural Language Processing, MIT Press.

Jump to Main Page

19

Jump to Main Page Course Code : COSC 44194 Course Title : Special Topics in Computer Science Pre -requisites : All COSC core course units. Co-requisites : None Learning Outcomes: At the end of this course module, the student should be able to demonstrate the ability to explain and apply the emerging technologies in Computer Science. Course Content : This course is designed with the aim of introducing emerging technologies in Computer Science. Method of teaching and learning: A combination of lectures, assignments, presentations and practical sessions as applicable. Assessment: End of course examination, assignments and/or practical examination as applicable. Recommended reading: Required reading material will be recommended by the lecturer(s) depending on the topic at the beginning of the course module.

Jump to Main Page

20

Jump to Main Page Course Code : COSC 43206 Course Title : Research Project Pre -requisites : All COSC core course units. Co-requisites : None Learning Outcomes: At the end of this project the student should be able to demonstrate skills on planning and carrying out a substantial research based project in the field of Computer Science and also be able to express themselves both in verbal and written forms. Course Content : A study and/or an implementation of a computer system related to major sub disciplines of Computer Science curriculum under an assigned supervisor. Method of teaching and learning: A combination of self-study, Seminars, Presentations and a dissertation. Assessment:Dissertation, Seminars and Oral presentations. Recommended reading: Reading list and material relevant for each selected topic will be provided at the beginning of the academic year by the supervisor.

Jump to Main Page

21

Jump to Main Page Course Code : COSC 43214 Course Title : Industrial Training Pre -requisites : All COSC core course units. Co-requisites : None Learning Outcomes:At the end of this industrial training, the student should be able to work in an industrialized environment and to analyze, design and implement a real world problem assigned by the industry. Course Content : Major aspects to be covered are the main phases of software and/or hardware systems development, generic skills needed to work in an industrialized environment and understanding of expectations of an organization. Method of teaching and learning: Training under the supervision and guidance of a suitable trainer in an IT related industry. Assessment:Evaluation of the progress report submitted by the trainer and the technical report submitted by the student. Recommended reading: Reading and reference material recommended by the relevant industry.

Jump to Main Page

22