Logical Circuit Design



Yüklə 235,5 Kb.
səhifə2/7
tarix08.08.2018
ölçüsü235,5 Kb.
#61231
1   2   3   4   5   6   7

Learning Outcomes:


When completing this module, you should be able to:

  1. understand basic ideas about algorithms (A)

  2. develop efficient algorithms for simple computational tasks (B)

  3. reason about the correctness of algorithms (B)

  4. understand the concepts of time and space complexity, worst case, average case and best case complexities and the big-O notation (A)

  5. compute complexity measures of algorithms, including recursive algorithms using recurrence relations (B)

  6. understand the range of behaviours of algorithms and the notion of tractable and intractable problems (A, B)

  7. know and understand a wide range of searching and sorting algorithms (A, B)


Assessment of Learning Outcomes:

All learning outcomes are assessed by examinations and tutorials. Learning outcomes (4), (5), and (6) are assessed by examinations and coursework.



Contribution to Programme Learning Outcomes:


A1, A2, B1, B2, B3
Synopsis: Introduction, Algorithm definition, Algorithm Analysis; Mathematical Induction; Summation Techniques; Recurrence Relations; Design & Analysis of Algorithms: Divide and conquer, Greedy Algorithm, Dynamic Programming, Backtracking, Branch-Bound; Lower Bound Theory; Sorting and Searching; NP-Complete Problems: Basic Concepts, NP-Hard & NP-Complete Problem

Modes of Assessment:

Two 1-hour midterm exams (15% each); Tutorial contributions (5%), Coursework (15%); Final written Examination (50%)


Textbooks and Supporting Material:

1- E. Horowitz, et.al., Fundamentals of Computer Algorithms, Galgotia Publications, 1998.

2- Sara Baase, Computer Algorithms: Introduction to Design and Analysis, Third Edition, Addison-Wesley, 2000.

3- Udi Manber, Introduction to Algorithms: a Creative Approach, Addison-Wesley, 1997.

4- T. Cormen, et.al., Introduction to Algorithms, 1999.

5- R. Sedgewick, Algorithms in C++, 2002.




750411, Applications of WWW Programming
Providing Department: Computer Science, Faculty of IT

Module Coordinator(s):

Year:4

Credit: 3 credit hours

Prerequisite: 731270
Aims:

This module aims to present techniques of Web designing and programming. It introduces networks, and the paradigm of client / server.


Teaching Methods: 32 hours Lectures (2 per week) + 8 hours Laboratory on project assignment (1 per week) + 8 hours Seminars presentations (in last 3 weeks)

Learning Outcomes:

Students completing this module should be able to:

1. Understand how to design Web pages and use HTML. (A)

2. Be familiar with the concepts of client / server. (A)

3. Design any large-scale Web sites. (B, C)


Assessment of Learning Outcome:

Learning outcomes (1) and (2) are assessed by examinations and assignments. Learning outcome (3) is assessed by projects and seminars.



Contribution to Programme Learning Outcomes:


A3, A4, B2, B3, C3, C5, C6
Synopsis: Introduction to networks; Informal retrieval; The client server paradigm; Legal and ethical considerations of web-based applications; Designing large-scale web sites; Dynamic page design with scripting; Object oriented scripting; Scripting language structure and syntax; Scripting events and event handlers; Objects and navigation; Applications for scripting in animation; data validation, data persistence, and user interaction; Synchronized and embedded multimedia with text, images, video and audio; Bandwidth consideration; XML: AML markup, well-formedness, valid documents, DTDs, XML objects, styling XML with CSS, XSL.
Modes of Assessment:

Two 1-hour midterm exams (15% each); Assignments (15%); Seminars (5%); Final Examination: 2-hours written exam (30%) + defended project (20%)


Textbooks and Supporting Material:

  1. Marty Hall and Larry Brown, Core Servlets and JavaServer Pages (ISBN 0-13-009229-0), 2/e

  2. Marty Hall and Larry Brown, Core Web Programming (ISBN 0-13-089793-0), 2/e

  3. Deepak Alur el al., Core J2EE Patterns (ISBN 0-13-142246-4), 2/e

  4. Steve Graham et al., Building Web Services with Java: Making Sense of XML, SOAP, WSDL, and UDDI (ISBN 0-672-32641-8), 2/e

  5. Ian F. Darwin, Java Cookbook (ISBN 0-596-00701-9), 2/e


210104, Discrete Structures
Providing Department: Basic Sciences, Faculty of Science

Module Coordinator(s):

Year: 1

Credit: 3 credit hours

Pre-requisites: none

Pre-requisite for: 751323, 760261
Aims:

This module will introduce the student to the basic language and ideas of discrete mathematics that occur in all branches of information technology. It will also begin the process of training the student to argue correctly, both informally and formally, about these structures. The student will begin to learn the use of abstract analysis to solve concrete problems.


Teaching Methods: 32 hours Lectures (2 per week) + 16 hours Tutorials (1 per week)
Learning Outcomes:

On completing this module, student should



  1. be familiar with the idea of a discrete structure, and the notions of formal language and parse tree.

  2. have an understanding of the basic ideas of sets and functions, including Boolean combination of sets, and be able to manipulate such expressions

  3. have an understanding of the standard propositional logic connectives and be able to convert logical expressions into conjunctive and disjunctive normal form.

  4. have an understanding of the universal and existential quantifiers

  5. be familiar with the general concept of binary relation, equivalence and order relations and methods of combining relations; be familiar with the standard graphical representations of relations,

  6. be familiar with the principle of mathematical induction and be able to perform proofs using this principle, also be aware of simple examples of structural induction on lists.

  7. be able to apply the inclusion-exclusion principle in simple counting examples,

  8. be familiar with the basic ideas of probability, and be able to calculate probabilities in simple experiments.


Assessment of Learning Outcomes

All learning outcomes are assessed by two tests during the semester and final examination, and by coursework.


Contribution to Programme Learning Outcomes:

A1, B1, D4, D6


Synopses: Arithmetic: The standard discrete number systems and the arithmetical operations on them with their properties; Sets and Functions: Standard set and function notation and terminology. Boolean operations on sets. Injective and surjective functions. Composition of functions; Logic: The connectives (or, and, not, implies, if and only if), Formulae of propositional logic, Truth tables, Tautologies and logical equivalence, Normal forms, The quantifiers (for all, there exists); Binary Relations: Definitions and examples, Properties of relations, Digraphs and representations of relations, Equivalence relations and Partitions, Combining relations and closure operators, Order relations, Recurrence Relations: Construction an solutions; Induction: The principle of mathematical induction, with many examples. Structural induction; Combinatory: Inclusion Exclusion principle, Binomial coefficients and permutations, Pascal's triangle. Summing series involving binomial coefficients.
Modes of Assessment:

Two 1-hour midterm exams (15% each); Coursework (15%); Tutorial Contribution (5%); Final (unseen) 2-hour examination (50%)


Textbooks and Supporting Material:

  1. TRUSS, J.K. Discrete Mathematics for Computer Scientists. (ISBN 0-201-175-649) 2nd Edition, Addison Wesley 1998.

There is not a book, which covers exactly the material in this module. The above book covers a large part of the module but also contains additional material, some of which is covered in later modules.


There are many books on discrete mathematics, which have useful features. For example

    1. MATTSON, H.F. Discrete Mathematics with Applications (ISBN 0-471-599-662), Wiley 1993.

    2. GARNIER, R. and TAYLOR, J. Discrete Mathematics for New Technology (ISBN 0-750-301-35X) Institute of Physics Publishing 1992.

    3. ECCLES, P.J, An Introduction to Mathematical Reasoning, (ISBN 0-521-59718-8) C.U.P. 1997.


750333, Principles of Operating Systems
Providing Department: Applied Computer Science, Faculty of IT

Module Coordinator:

Year: 2

Credit: 3 credit hours

Prerequisite: 711231

Prerequisite for: 750331, 750341



Aims:

The aims of this module are to introduce the basic principles of computer systems organization and operation; to show how hardware is controlled by program at the hardware/software interface; to outline the basic OS resource management functions: memory, file, device (I/O), process management, and OS security/protection. Two concrete examples of operating systems are used to illustrate how principles and techniques are deployed in practice.


Teaching Method: 40 hours Lectures (2-3 per week) + 8 hours Tutorials (1 each fortnight)
Learning Outcomes:

On completing the module, students should:

1- Have knowledge and understanding of the overall structure and functionality of a modern operating system and of its interactions with the underlying computer hardware and overlying user-program. (A)

2- Have knowledge and understanding of the operation of the following major components of an operating system: the I/O device manager; the memory manager; the process manager; the file manager; OS security/protection manager (A)

3- Have the ability to design and implement (an emulation of) a prototypical process manager. (B, C)

4- Be aware of how fundamental techniques in (1) and (2) are applied in practice in two distinct modern operating systems. (A)


Assessment of Learning Outcomes:

Learning outcomes (1) and (2) are assessed by examination. Learning outcome (3) is assessed via course project. Learning outcome (4) is not formally assessed.


Contribution to Programme Learning Outcomes

A3, B3, C5.


Synopsis: Operating System overview; Operating System Structures: System components, Operating system services, System calls, System structures, Virtual machine; Processes: Process concept, Process scheduling, Operation on process, Cooperative process, Inter process communication; Threads: Thread overview, Benefits, User and kernel threads, Multithreading model, Solaris 2 threads; CPU Scheduling: Basic concept, Scheduling criteria, Scheduling algorithm, Thread scheduling, Algorithm evaluation; Process synchronization and mutual exclusion: Critical section problem, Two task solution, Synchronization hardware, Semaphore, Classical synchronization problem; Deadlock and starvation: System model, Deadlock characterization, Method for handling deadlock, Deadlock prevention, Deadlock avoidance, Deadlock detection, Recovery from deadlock; Memory management: Background, Swapping, Paging, Virtual memory, Background, Demand paging, Page replacement, Allocation of frame, Thrashing; File system implementation and management: File concept, Access method, Directory structure, Protection, File system structure, Allocation method, Free space management, Directory implementation, Efficiency and performance, I/O management and disk scheduling, Application I/O interface, Kernel I/O subsystem, I/O request handling, Disk structure, Disk scheduling, Disk management, Swap space management, Disk reliability, Stable storage implementation
Modes of Assessment:

Two 1-hour midterm exams (15% each); Assignments (10%); Lab work (5%); Tutorial contribution (5%); 2-hours Final Examination (50%)



Textbooks and Supporting Material:

1- A. Silberschatz and Peter Galvin, Applied Operating Systems Concepts, First edition, John Wiley & sons, Inc, 2000

2- J. Bacon, Concurrent Systems: Database and Distributed Systems, 2nd Edition, (ISBN 0-201-177-676), Addison Wesley, 1998.

3-A. S. Tanenbaum, Modern Operating Systems, Prentice Hall, 1992




750321, Concepts of Programming Languages
Providing Department: Computer Science, Faculty of IT

Module Coordinator(s):

Year: 3

Credit: 3 credit hours

Prerequisite: 721211

Prerequisite for: 750421
Aims:

This module aims to provide the student with a framework for thinking about programming languages. There are always new languages being devised, of which a very few actually become widely used; typically, these are specialized languages for particular applications (e.g., Java). As a computer scientist, the student must be able to learn new languages as necessary, and the background he/she gets from this module should make this easier. Finally, students will almost certainly have to choose which programming language to use for a particular project. A final goal of this module is to give students enough background in the study of programming languages that they can argue persuasively why a particular language is appropriate (or inappropriate) for a particular problem.



Yüklə 235,5 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə