13.01.2015 Views

MAKERERE UNIVERSITY - Office of the Academic Registrar ...

MAKERERE UNIVERSITY - Office of the Academic Registrar ...

MAKERERE UNIVERSITY - Office of the Academic Registrar ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Faculty <strong>of</strong> Technology<br />

<strong>MAKERERE</strong> <strong>UNIVERSITY</strong><br />

FACULTY OF TECHNOLOGY<br />

REGULATIONS AND COURSE CURRICULA<br />

for<br />

PROPOSED PROGRAMME<br />

<strong>of</strong><br />

Degree <strong>of</strong> Bachelor <strong>of</strong> Science<br />

in<br />

Computer Engineering<br />

(Day/Evening Programme)<br />

Kampala - May 2009<br />

Bachelor <strong>of</strong> Science in Computer Engineering<br />

i


Faculty <strong>of</strong> Technology<br />

CONTENTS<br />

1. BACKGROUND TO THE PROGRAMME...................................................................................................................... 1<br />

2. JUSTIFICATION FOR THE PROGRAMME ................................................................................................................. 1<br />

3. OBJECTIVES AND EDUCATIONAL OUTCOMES ..................................................................................................... 1<br />

3.1 Educational Objectives .............................................................................................. 1<br />

3.2 Program Outcomes .................................................................................................... 1<br />

4. TARGET GROUP ................................................................................................................................................................. 2<br />

5. REGULATIONS FOR THE DEGREE OF BACHELOR OF SCIENCE IN COMPUTER ENGINEERING ....... 2<br />

5.1 Admission to First Year............................................................................................. 2<br />

5.2 The Direct Entry Scheme .......................................................................................... 2<br />

5.3 The Mature Age Entry Scheme .................................................................................. 2<br />

5.4 Diploma Holders Entry Scheme ................................................................................. 2<br />

5.5 Admission to o<strong>the</strong>r Years .......................................................................................... 2<br />

6. CONDUCT OF THE PROGRAMME ............................................................................................................................... 3<br />

6.1 Type <strong>of</strong> Programme ................................................................................................... 3<br />

6.2 Programme Duration ................................................................................................. 3<br />

6.3 Course Credits ........................................................................................................... 3<br />

6.4 Type <strong>of</strong> Courses ......................................................................................................... 3<br />

6.5 Course Assessment .................................................................................................... 3<br />

6.6 Semester Course Load ............................................................................................... 3<br />

6.7 Board <strong>of</strong> Examiners ................................................................................................... 4<br />

6.8 Grading Of Courses ................................................................................................... 4<br />

6.9 Progression................................................................................................................ 4<br />

6.10 Re-Taking a Course ................................................................................................... 5<br />

6.11 Absence from Examination ....................................................................................... 5<br />

6.12 Certificate <strong>of</strong> Due Performance .................................................................................. 5<br />

6.13 Withdrawal ............................................................................................................... 5<br />

6.14 Approval 0f Examination Results .............................................................................. 5<br />

6.15 Publication <strong>of</strong> Examination Results ........................................................................... 5<br />

6.16 Appeals ..................................................................................................................... 6<br />

6.17 Change Of Course ..................................................................................................... 6<br />

6.18 Change <strong>of</strong> <strong>Academic</strong> Programme .............................................................................. 6<br />

6.19 Payment <strong>of</strong> Fees ........................................................................................................ 6<br />

6.20 Refund <strong>of</strong> Tuition Fees When a Student Has Withdrawn From Studies ...................... 6<br />

6.21 O<strong>the</strong>r Specific Examinations Regulations .................................................................. 7<br />

7. REQUIREMENTS FOR AWARD OF THE BSc. DEGREE IN COMPUTER ENGINEERING ............................ 7<br />

7.1 Graduation Requirements .......................................................................................... 7<br />

7.2 Classification <strong>of</strong> a Degree .......................................................................................... 7<br />

8. PROGRAMME STRUCTURE ........................................................................................................................................... 7<br />

ANNEX I: RESOURCES ........................................................................................................................................................... 123<br />

A. Personnel .............................................................................................................. 123<br />

B. Equipment and Facilities ....................................................................................... 124<br />

ANNEX II COSTING ................................................................................................................................................................. 124<br />

Bachelor <strong>of</strong> Science in Computer Engineering<br />

ii


Faculty <strong>of</strong> Technology<br />

1. BACKGROUND TO THE PROGRAMME<br />

The Computer Society <strong>of</strong> <strong>the</strong> Institute for Electrical and Electronics Engineers (IEEE-CS) and <strong>the</strong><br />

Association for Computing Machinery (ACM) define Computer Engineering as a discipline that<br />

embodies <strong>the</strong> science and technology <strong>of</strong> design, construction, implementation, and maintenance <strong>of</strong><br />

s<strong>of</strong>tware and hardware components <strong>of</strong> modern computing systems and computer-controlled<br />

equipment. This programme prepares students for careers that deal with computer systems from<br />

design through implementation. Computing systems are components <strong>of</strong> a wide range <strong>of</strong> products such<br />

as fuel injection systems in vehicles, medical devices such as x-ray machines, communication devices<br />

such as cell phones, and household devices such as alarm systems and washing machines. The work<br />

done by a Computer Engineer includes designing computing systems and computing components <strong>of</strong><br />

products, developing and testing <strong>the</strong>ir prototypes, and commercializing <strong>the</strong> products.<br />

Despite <strong>the</strong> considerable investment by Uganda’s public and private sector in computer systems and<br />

related facilities, <strong>the</strong>re is currently inadequate human resource capacity in <strong>the</strong> country to design,<br />

domesticate, prototype, test, deploy, and maintain <strong>the</strong>se systems.<br />

The introduction <strong>of</strong> <strong>the</strong> Computer Engineering discipline at Makerere University is designed to<br />

address this situation.<br />

2. JUSTIFICATION FOR THE PROGRAMME<br />

There is a proliferation <strong>of</strong> computer systems and related products in <strong>the</strong> economy <strong>of</strong> Uganda and<br />

manifested in <strong>the</strong> Banking, Health, and Telecommunications Sectors, as well as in <strong>the</strong> Automobile,<br />

Service and Manufacturing Industries. The Computer Engineers trained on this programme will<br />

provide an invaluable human resource for commissioning, supporting, development, and maintenance<br />

<strong>of</strong> <strong>the</strong> systems. Fur<strong>the</strong>r, <strong>the</strong> graduates <strong>of</strong> this programme, through establishment and creation <strong>of</strong><br />

Business Enterprises, will provide <strong>the</strong> much needed base in Computer Systems Business Process<br />

Outsourcing for o<strong>the</strong>r Enterprises and Organizations whose core business is not Development and<br />

Support <strong>of</strong> Computer Systems. In so doing Uganda will eventually become a hub for provision <strong>of</strong><br />

Computer Systems and Associated Support tailored for both regional and global markets.<br />

3. OBJECTIVES AND EDUCATIONAL OUTCOMES<br />

The primary focus <strong>of</strong> this programme is to produce entrepreneurship-oriented graduates who are<br />

capable <strong>of</strong> propping up new companies, out <strong>of</strong> <strong>the</strong> prototypes that <strong>the</strong>y will have developed at <strong>the</strong><br />

undergraduate level. This demands that <strong>the</strong> final year projects should benchmark world class<br />

standards, capable <strong>of</strong> leading to Computer Engineering and Information and Communication<br />

Technologies incubations.<br />

3.1 Educati onal Objectives<br />

The educational objectives <strong>of</strong> this programme are to:<br />

(a) Produce graduates who are able to practice computer engineering to serve Uganda and <strong>the</strong><br />

regional industries, government agencies, or national and international industries.<br />

(b) Produce graduates with <strong>the</strong> necessary background and technical skills to work pr<strong>of</strong>essionally<br />

in one or more <strong>of</strong> <strong>the</strong> following areas: computer hardware and s<strong>of</strong>tware design, computerbased<br />

systems, computer network design, system integration, electronic design automation.<br />

(c) Prepare graduates for personal and pr<strong>of</strong>essional success with awareness and commitment to<br />

<strong>the</strong>ir ethical and social responsibilities, both as individuals and in team environments.<br />

(d) Prepare graduates who are capable <strong>of</strong> entering and succeeding in an advanced degree<br />

program in a field such as engineering, science, or business.<br />

3.2 Program Outcomes<br />

The outcomes for <strong>the</strong> computer engineering program are:<br />

(a) To Understand - to understand fundamentals <strong>of</strong> computer hardware and s<strong>of</strong>tware,<br />

electronics, electronic design automation, and ma<strong>the</strong>matics, and how <strong>the</strong>se are used in<br />

Bachelor <strong>of</strong> Science in Computer Engineering 1


Faculty <strong>of</strong> Technology<br />

computers and computer-based systems. An understanding that engineering knowledge<br />

should be applied in an ethically responsible manner for <strong>the</strong> good <strong>of</strong> society.<br />

(b) To Question - to critically evaluate alternate assumptions, approaches, procedures,<br />

trade<strong>of</strong>fs, and results related to engineering problems.<br />

(c) To Design - to design and implement a computer system including processor, memory<br />

and I/O system, compiler, operating system, and local area network interface.<br />

(d) To Lead - to lead a small team <strong>of</strong> student engineers performing a laboratory exercise<br />

or design project; to participate in <strong>the</strong> various roles in a team and understand how <strong>the</strong>y<br />

contribute to accomplishing <strong>the</strong> task at hand.<br />

(e) To Communicate - to use written and oral communications to document work and<br />

present project results.<br />

4. TARGET GROUP<br />

The target group for this programme will be <strong>the</strong> annual outputs <strong>of</strong> Advanced Level Certificate<br />

Education, or its equivalent, and those individuals in <strong>the</strong> working sector possessing appropriate entry<br />

requirement, who desire to acquire fur<strong>the</strong>r training at Degree level.<br />

5. REGULATIONS FOR THE DEGREE OF BACHELOR OF SCIENCE<br />

IN COMPUTER ENGINEERING<br />

Studies and examinations for <strong>the</strong> degree <strong>of</strong> Bachelor <strong>of</strong> Science in Computer Engineering – B.Sc.<br />

(CMP) shall be governed by <strong>the</strong> general regulations and statutes <strong>of</strong> Makerere University and in<br />

addition by <strong>the</strong> regulations <strong>of</strong> <strong>the</strong> Faculty <strong>of</strong> Technology:<br />

5.1 Admission to First Year<br />

Admission into <strong>the</strong> first year is through any <strong>of</strong> <strong>the</strong> three avenues, <strong>the</strong> Direct Entry Scheme, <strong>the</strong> Mature<br />

Age Scheme and <strong>the</strong> Diploma Holders Scheme.<br />

5.2 The Direct Entry Scheme<br />

An applicant must have obtained two advanced level passes, one in Ma<strong>the</strong>matics and one in Physics,<br />

at <strong>the</strong> same sitting <strong>of</strong> <strong>the</strong> Uganda Advanced Certificate <strong>of</strong> Education or its equivalent. For purposes <strong>of</strong><br />

computing entry points, <strong>the</strong> advanced level subjects shall carry <strong>the</strong> following weights:<br />

<br />

<br />

<br />

<br />

Weight 3 - Ma<strong>the</strong>matics, Physics<br />

Weight 2 - Best <strong>of</strong> Economics, Chemistry, or Technical Drawing<br />

Weight 1 - General Paper<br />

Weight 0.5 - Any o<strong>the</strong>r subject.<br />

5.3 The Mature Age Entry Scheme<br />

Admission may also be via <strong>the</strong> Mature Age Entry Scheme, after <strong>the</strong> passing <strong>of</strong> two special mature age<br />

University Examinations, one in aptitude and <strong>the</strong> o<strong>the</strong>r in specialised knowledge.<br />

5.4 Di ploma Holders Entry Scheme<br />

Holders <strong>of</strong> <strong>the</strong> Uganda National Examinations Board Ordinary Technical Diploma or its equivalent<br />

can be admitted to <strong>the</strong> programme. Applicants should have obtained a Credit Class diploma with at<br />

least a Credit Pass in Ma<strong>the</strong>matics.<br />

5.5 Admission to o<strong>the</strong>r Years<br />

Admission o<strong>the</strong>r than to <strong>the</strong> first year <strong>of</strong> <strong>the</strong> programme shall require a special resolution <strong>of</strong> <strong>the</strong><br />

Faculty Board and permission <strong>of</strong> <strong>the</strong> Senate. The Departments will work out all appropriate Credit<br />

transfers, which shall not exceed 40% <strong>of</strong> <strong>the</strong> minimum degree Credit Units. Persons holding Higher<br />

National Diploma from a recognised Institution can be admitted to 2 nd year, with <strong>the</strong> proviso that <strong>the</strong>y<br />

Bachelor <strong>of</strong> Science in Computer Engineering 2


Faculty <strong>of</strong> Technology<br />

will be required to take some courses from <strong>the</strong> 1 st year that <strong>the</strong> Faculty Board will have identified and<br />

deemed mandatory.<br />

6. CONDUCT OF THE PROGRAMME<br />

6.1 Type <strong>of</strong> Programme<br />

This programme shall be conducted through Course-work and Examinations. There shall be<br />

two types <strong>of</strong> Programmes, namely, Day Programme (DAY) and Evening Programme<br />

(EVENING).<br />

6.2 Programme Duration<br />

The minimum duration for this programme shall be four (4) years. The course is designated to be<br />

taken over a minimum period <strong>of</strong> eight semesters. The duration <strong>of</strong> a Semester is seventeen (17) weeks.<br />

There shall be university examinations to be conducted in <strong>the</strong> last two weeks <strong>of</strong> each semester.<br />

6.3 Course Credits<br />

The programme shall be conducted on credit unit (CU) basis. One credit unit shall be equivalent to<br />

one contact hour (CH) per week per semester, or a series <strong>of</strong> 15 contact hours.<br />

One Contact hour is equivalent to one hour <strong>of</strong> lectures (LH) or two hours <strong>of</strong> practical work (PH) or<br />

five hours <strong>of</strong> fieldwork/industrial training (FH).<br />

No course shall carry less than one credit unit.<br />

6.4 Type <strong>of</strong> Courses<br />

The Course content to be covered in this Programme shall be based on <strong>the</strong> Curriculum approved by<br />

<strong>the</strong> Makerere University Senate. The method <strong>of</strong> teaching and examination will adhere to <strong>the</strong> Senate<br />

approved syllabi. This programme shall be composed <strong>of</strong> <strong>of</strong> a set <strong>of</strong> prescribed Courses that shall be<br />

registered for by every student in order for him or her to qualify for <strong>the</strong> award <strong>of</strong> <strong>the</strong> Degree <strong>of</strong><br />

Bachelor <strong>of</strong> Science in Computer Engineering.<br />

Courses in <strong>the</strong> programme shall be classified as follows:<br />

(a)<br />

(b)<br />

(c)<br />

(d)<br />

A core course is one which must be registered for and passed by a student in order to obtain a<br />

degree.<br />

An elective course is one which may be taken to make up <strong>the</strong> minimum requirements <strong>of</strong> <strong>the</strong><br />

degree.<br />

An audited course is one which a student attends but is not examined in it.<br />

A pre-requisite course is one which must be taken and passed before a related higher level<br />

course.<br />

6.5 Course Assessment<br />

(a)<br />

(b)<br />

Each course shall be assessed on <strong>the</strong> basis <strong>of</strong> 100 total marks with proportions as follows:<br />

• Course Work 40%<br />

• Written Examination 60%<br />

Course work shall consist <strong>of</strong> laboratory work and progressive assessment (assignments/tests)<br />

each component assessed at 20%.<br />

(c) For a course without laboratory work, progressive assessment shall carry 40%.<br />

(d)<br />

A minimum <strong>of</strong> two coursework assignments/tests shall be required per Course.<br />

6.6 Semester Course Load<br />

6.6.1 Normal Semester Course Load<br />

The minimum number <strong>of</strong> Credit Units per Semester shall be fifteen (15). The maximum number <strong>of</strong><br />

Credit Units per Semester shall be twenty one (21).<br />

6.6.2 Maximum Semester Course Load<br />

Bachelor <strong>of</strong> Science in Computer Engineering 3


Faculty <strong>of</strong> Technology<br />

The maximum number <strong>of</strong> Credit Units per Semester shall be twenty eight (28) to cater for<br />

students who have courses to retake or those who are able to complete <strong>the</strong> requirements for <strong>the</strong>ir<br />

respective <strong>Academic</strong> Awards in less than <strong>the</strong> stipulated minimum duration.<br />

6.7 Board <strong>of</strong> Examiners<br />

(a)<br />

(b)<br />

(c)<br />

(d)<br />

There shall be a Faculty Board <strong>of</strong> examiners, composed <strong>of</strong> external and internal examiners<br />

appointed by Senate on <strong>the</strong> recommendation <strong>of</strong> <strong>the</strong> Board <strong>of</strong> <strong>the</strong> Faculty <strong>of</strong> Technology and<br />

chaired by <strong>the</strong> Dean <strong>of</strong> <strong>the</strong> Faculty <strong>of</strong> Technology.<br />

The Board <strong>of</strong> Examiners shall receive, consider and recommend to <strong>the</strong> Faculty Board <strong>the</strong><br />

examination results <strong>of</strong> each candidate.<br />

The Faculty Board shall recommend <strong>the</strong> results <strong>of</strong> examinations to <strong>the</strong> Senate for consideration<br />

and approval.<br />

In an emergency, <strong>the</strong> Dean may act on behalf <strong>of</strong> <strong>the</strong> Faculty Board or <strong>the</strong> Board <strong>of</strong> Examiners<br />

but must report <strong>the</strong> action taken to <strong>the</strong> next Meeting <strong>of</strong> <strong>the</strong>se Boards. In so doing <strong>the</strong> Dean<br />

shall, however, act in consultation with <strong>the</strong> relevant head <strong>of</strong> Department.<br />

6.8 Grading Of Courses<br />

Each course shall be graded out <strong>of</strong> a maximum <strong>of</strong> 100 marks and assigned appropriate letter grades and<br />

grade point average as follows:<br />

Table 1:<br />

Course Grade Criteria<br />

6.9 Progression<br />

Marks % Letter Grade Grade Point<br />

90.0 – 100.0 A+ 5.0<br />

80.0 - 89.9 A 5.0<br />

75.0 - 79.9 B+ 4.5<br />

70.0 -74.9 B 4.0<br />

65.0 - 69.9 C+ 3.5<br />

60.0 - 64.9 C 3.0<br />

55.0 - 59.9 D+ 2.5<br />

50.0 – 54.9 D 2.0<br />

45.0 - 49.9 E+ 1.5<br />

40.0 - 44.9 E- 1.0<br />

Below 40.0 F 0.0<br />

Progression <strong>of</strong> a student shall be classified as Normal, Probationary or Discontinuation.<br />

6.9.1 Normal Progress<br />

Normal Progress shall occur when a student has passed all <strong>the</strong> specified Courses. This occurs when a<br />

student passes each course taken with a minimum grade point (GP) <strong>of</strong> 2.0.<br />

6.9.2 Probationary Progress<br />

This is a warning stage and it will occur if:<br />

• A student fails <strong>the</strong> Core or Compulsory Course.<br />

• A student obtains <strong>the</strong> Cumulative Grade Point Average (CGPA) <strong>of</strong> less than two (2) at <strong>the</strong> end<br />

<strong>of</strong> any semester.<br />

• When <strong>the</strong> Grade Point Average <strong>of</strong> a student goes up in <strong>the</strong> following semester after <strong>the</strong> student<br />

has retaken and passed <strong>the</strong> failed Courses, <strong>the</strong>n <strong>the</strong> probation shall be removed.<br />

6.9.3 Discontinuation<br />

(a)<br />

(b)<br />

When a student accumulates three consecutive probations based on CGPA he/she shall be<br />

discontinued;<br />

A student who has failed to obtain at least <strong>the</strong> Pass Mark (50%) during <strong>the</strong> Third Assessment in<br />

in <strong>the</strong> same Course or Courses he/she had retaken shall be discontinued from his/her studies at<br />

Bachelor <strong>of</strong> Science in Computer Engineering 4


Faculty <strong>of</strong> Technology<br />

(c)<br />

<strong>the</strong> University;<br />

A student who has overstayed in an <strong>Academic</strong> Programme by more than Two (2) Years shall be<br />

discontinued from his/her studies at <strong>the</strong> University.<br />

6.10 Re-Taking a Course<br />

(a)<br />

(b)<br />

(c)<br />

(d)<br />

(e)<br />

(f)<br />

(g)<br />

(h)<br />

A student shall retake a Course when next <strong>of</strong>fered again in order to obtain at least <strong>the</strong> Pass Mark<br />

(50%) if he/she had failed during <strong>the</strong> First Assessment in <strong>the</strong> Course or Courses.<br />

A student who has failed to obtain at least <strong>the</strong> Pass Mark (50%) during <strong>the</strong> Second Assessment<br />

in <strong>the</strong> same Course he/she has retaken shall receive a warning.<br />

A student may retake a Course when next <strong>of</strong>fered again in order to improve his/her Pass Grade(s)<br />

got at <strong>the</strong> first Assessment in <strong>the</strong> Course were low.<br />

While retaking a Course or Courses, a student shall:<br />

(i)<br />

(ii)<br />

(iii)<br />

Attend all <strong>the</strong> prescribed lectures/tutorials/Practicals/Fieldwork in <strong>the</strong> Course;<br />

Satisfy all <strong>the</strong> requirements for <strong>the</strong> Coursework Component in <strong>the</strong> Course; and<br />

Sit for <strong>the</strong> University Examinations in <strong>the</strong> Course.<br />

A student shall not be allowed to accumulate more than five (5) Retake Courses at a time.<br />

A final year student whose final Examination Results have already been classified by <strong>the</strong><br />

relevant College/Faculty/School/Institute Board and has qualified for <strong>the</strong> Award <strong>of</strong> a<br />

degree/Diploma/Certificate, shall not be permitted to retake any Course.<br />

When a student has retaken a course, <strong>the</strong> better <strong>of</strong> <strong>the</strong> two Grades he/she obtained in that Course<br />

shall be used in <strong>the</strong> computation <strong>of</strong> his/her Cumulative Grade Point Average (CGPA).<br />

Whenever a Course has been retaken, <strong>the</strong> <strong>Academic</strong> Transcript shall indicate so accordingly.<br />

A student who does not wish to retake a failed Elective Course shall be allowed to take a substitute<br />

Elective.<br />

6.11 Absence from Examination<br />

(a)<br />

(b)<br />

If <strong>the</strong> Board <strong>of</strong> <strong>the</strong> Faculty <strong>of</strong> Technology found out that a student has no justifiable reason for<br />

having been absent from a Particular examination, such a student shall receive a fail (F) Grade<br />

for <strong>the</strong> Course(s) he/she had not sat <strong>the</strong> examination in. The Course(s) in which <strong>the</strong> Fail (F)<br />

Grade was/were awarded shall also account in <strong>the</strong> calculation <strong>of</strong> <strong>the</strong> CGPA.<br />

If <strong>the</strong> Board <strong>of</strong> <strong>the</strong> Faculty <strong>of</strong> Technology is satisfied that a student was absent from a final<br />

examination due to justifiable reason(s) such as sickness or loss <strong>of</strong> a parent/guardian, and <strong>the</strong>n a<br />

Course Grade <strong>of</strong> ABS shall be assigned to that Course(s). The student shall be permitted to<br />

retake <strong>the</strong> final examination when <strong>the</strong> Course would be next <strong>of</strong>fered or at <strong>the</strong> next examination<br />

season, if <strong>the</strong> Lecturer concerned can make <strong>the</strong> appropriate arrangements for <strong>the</strong> examination.<br />

6.12 Certificate <strong>of</strong> Due Performance<br />

A student who does not have coursework marks shall be denied Certificate <strong>of</strong> due Performance and will<br />

not be allowed to sit <strong>the</strong> University Examinations.<br />

6.13 Withdrawal<br />

A student can apply to <strong>the</strong> Board <strong>of</strong> <strong>the</strong> Faculty <strong>of</strong> Technology for permission to withdraw from studies<br />

at any time <strong>of</strong> <strong>the</strong> semester.<br />

A student will be allowed only a maximum <strong>of</strong> two withdrawals in an <strong>Academic</strong> Programme and each<br />

withdrawal shall be a maximum <strong>of</strong> one academic year only.<br />

6.14 Approval 0f Examination Results<br />

Approval <strong>of</strong> all examination results will be by <strong>the</strong> Board <strong>of</strong> <strong>the</strong> Faculty <strong>of</strong> Technology, but <strong>the</strong> results<br />

shall not be regarded as final until <strong>the</strong>y are confirmed by Senate ob submission <strong>of</strong> Appropriate Pass<br />

Lists to Senate.<br />

6.15 Publication <strong>of</strong> Examination Results<br />

Bachelor <strong>of</strong> Science in Computer Engineering 5


Faculty <strong>of</strong> Technology<br />

The relevant faculty shall publish Provisional Examination Results <strong>of</strong> candidates in every examination<br />

soon after <strong>the</strong> meeting <strong>of</strong> <strong>the</strong> departmental Examinations Committee. The Examination Results shall be<br />

arranged and published in a manner as prescribed by <strong>the</strong> Senate.<br />

6.16 Appeals<br />

Any student or candidate aggrieved by a decision <strong>of</strong> <strong>the</strong> Board <strong>of</strong> <strong>the</strong> Faculty <strong>of</strong> Technology may appeal<br />

to <strong>the</strong> Senate Examinations Committee for reversal or moderation <strong>of</strong> <strong>the</strong> decision <strong>of</strong> <strong>the</strong> Board.<br />

6.17 Change Of Course<br />

A student may be permitted to change course(s) in an <strong>Academic</strong> Programme in order to substitute <strong>the</strong><br />

Course(s) failed. The substitute Course(s) should be within <strong>the</strong> specified Course(s) for that <strong>Academic</strong><br />

Programme.<br />

6.18 Change <strong>of</strong> <strong>Academic</strong> Programme<br />

(a)<br />

A student may be permitted to change from one <strong>Academic</strong> Programme to ano<strong>the</strong>r on condition<br />

that:<br />

(i)<br />

(ii)<br />

(iii)<br />

He/She had satisfied <strong>the</strong> admission requirements for <strong>the</strong> <strong>Academic</strong> Programme applied<br />

for;<br />

He/She should not have been attending lectures/tutorials and o<strong>the</strong>r academic activities<br />

<strong>of</strong> <strong>the</strong> <strong>Academic</strong> Programme he/she would want to change from for more than one-half<br />

<strong>of</strong> <strong>the</strong> duration <strong>of</strong> <strong>the</strong> Programme;<br />

He/She had not been previously dismissed on disciplinary grounds from <strong>the</strong> University.<br />

(b) A student permitted to change his/her Programme may be allowed to transfer <strong>the</strong> Credits from <strong>the</strong><br />

previous <strong>Academic</strong> Programme to <strong>the</strong> new <strong>Academic</strong> Programme, provided that <strong>the</strong> Credits being<br />

transferred are relevant to <strong>the</strong> new <strong>Academic</strong> Programme.<br />

6.19 Payment <strong>of</strong> Fees<br />

(a) Privately-sponsored students are required to pay registration fees within <strong>the</strong> first three (30<br />

weeks at <strong>the</strong> beginning <strong>of</strong> an academic year in order for him/her to be registered and issued<br />

with <strong>the</strong> University Identity Card.<br />

(b)<br />

(c)<br />

(d)<br />

(e)<br />

A privately-sponsored student who fails to pay <strong>the</strong> registration fee at <strong>the</strong> end <strong>of</strong> <strong>the</strong> third week<br />

<strong>of</strong> <strong>the</strong> beginning <strong>of</strong> an academic year shall forfeit his/her place in <strong>the</strong> University in case <strong>the</strong><br />

student is in <strong>the</strong> first year or be deregistered in <strong>the</strong> case <strong>of</strong> a continuing student.<br />

Tuition and o<strong>the</strong>r University fees are due on <strong>the</strong> first day <strong>of</strong> <strong>the</strong> academic year. Privatelysponsored<br />

students who can not pay full fees at <strong>the</strong> beginning <strong>of</strong> <strong>the</strong> academic year are<br />

required to pay at least 40% <strong>of</strong> <strong>the</strong> fees by <strong>the</strong> end <strong>of</strong> <strong>the</strong> sixth week <strong>of</strong> a semester and to<br />

complete payment <strong>of</strong> all tuition fees by <strong>the</strong> end <strong>of</strong> <strong>the</strong> twelfth week <strong>of</strong> a semester.<br />

A privately-sponsored student who shall not have paid at least 40% <strong>of</strong> <strong>the</strong> fees by <strong>the</strong> end <strong>of</strong> <strong>the</strong><br />

sixth week shall be de-registered.<br />

A privately-sponsored student who shall not have completed paying fees by <strong>the</strong> end <strong>of</strong> <strong>the</strong><br />

twelfth week will not be allowed to sit for University examinations.<br />

6.20 Refund <strong>of</strong> Tuition Fees When a Student Has Withdrawn From Studies<br />

A student who has been permitted to withdraw from studies shall be refunded <strong>the</strong> Tuition Fees already<br />

paid according to <strong>the</strong> following schedules:<br />

The time at which a Student<br />

has withdrawn in a Semester<br />

(a) By <strong>the</strong> end <strong>of</strong> <strong>the</strong> First week <strong>of</strong> a Semester 100%<br />

(b) By <strong>the</strong> end <strong>of</strong> <strong>the</strong> Second week <strong>of</strong> a Semester 80%<br />

(c) By <strong>the</strong> end <strong>of</strong> <strong>the</strong> Third week <strong>of</strong> a Semester 60%<br />

(d) By <strong>the</strong> end <strong>of</strong> <strong>the</strong> Fourth week <strong>of</strong> a Semester 40%<br />

(e) By <strong>the</strong> end <strong>of</strong> <strong>the</strong> Fifth week <strong>of</strong> a Semester 20%<br />

Percentage <strong>of</strong> <strong>the</strong> Tuition Fees already<br />

paid to be refunded to <strong>the</strong> Student<br />

Bachelor <strong>of</strong> Science in Computer Engineering 6


Faculty <strong>of</strong> Technology<br />

(f) After <strong>the</strong> fifth week 0%<br />

Fees for Residence, Application, Faculty requirements, registration, Examinations, Identity Cards and<br />

<strong>the</strong> Guild charges are not refunded.<br />

In case an <strong>Academic</strong> Programme to which a student has been admitted is not conducted in a particular<br />

academic year, <strong>the</strong> University will refund <strong>the</strong> full tuition fees paid by <strong>the</strong> student.<br />

6.21 O<strong>the</strong>r Specific Examinations Regulations<br />

Subject to General University Examinations Regulations, <strong>the</strong>re are o<strong>the</strong>r specific regulations pertaining<br />

to this programme, details <strong>of</strong> which can be sought from <strong>the</strong> Faculty <strong>of</strong> Technology or <strong>Office</strong> <strong>of</strong> <strong>the</strong><br />

<strong>Academic</strong> <strong>Registrar</strong>.<br />

The following additional letters shall be used, where appropriate:<br />

• W - Withdrawal from Course<br />

• I - Incomplete<br />

• AUD - Audited Course Only<br />

• The Course Pass Grade Point is 2.0<br />

• No Credit Unit shall be awarded for any Course in which a student fails.<br />

7. REQUIREMENTS FOR AWARD OF THE BSc. DEGREE IN<br />

COMPUTER ENGINEERING<br />

7.1 Graduation Requirements<br />

The Degree <strong>of</strong> Bachelor <strong>of</strong> Science in Computer Engineering shall be awarded to a Candidate who<br />

obtains a minimum <strong>of</strong> 144 credit units, gained from 38 Courses. Of <strong>the</strong>se, 34 shall be core courses and<br />

4 shall be electives as indicated in Table 1.<br />

Table 1:<br />

Requirements for Graduation<br />

Year Core Courses Electives Courses<br />

ONE 11 0<br />

TWO 11 0<br />

THREE 6 2<br />

FOUR 6 2<br />

Total Courses 34 4<br />

The minimum requirements for graduation is 144 Credit Units<br />

7.2 Cl assification <strong>of</strong> a Degree<br />

The degrees obtained in <strong>the</strong> Faculty <strong>of</strong> Technology shall be classified according to <strong>the</strong> CGPA as<br />

follows:-<br />

CLASS<br />

CGPA<br />

First 4.40 - 5.0<br />

Second, Upper Division 3.60 - 4.39<br />

Second Lower Division Pass 2.80 - 3.59<br />

Pass 2.0 - 2.79<br />

8. PROGRAMME STRUCTURE<br />

The B.Sc. (CMP) Programme shall have <strong>the</strong> following structure:<br />

• Five Ma<strong>the</strong>matics Courses<br />

• Thirty Five Computer Engineering Courses<br />

• Four Electrical Engineering Courses<br />

• Four Humanities<br />

These courses are categorised into core and elective courses as outlined in <strong>the</strong> table below<br />

Bachelor <strong>of</strong> Science in Computer Engineering 7


Faculty <strong>of</strong> Technology<br />

COURSE OUTLINE<br />

YEAR<br />

SEMESTE<br />

R<br />

COURSE<br />

CODE<br />

COURSE NAME<br />

Bachelor <strong>of</strong> Science in Computer Engineering 8<br />

Lecture<br />

Hours<br />

(LH)<br />

Practical<br />

Hours<br />

(PH)<br />

Tutorial<br />

Hours<br />

(TH)<br />

Contact Hours<br />

(CH)<br />

Credit Units<br />

(CU)<br />

ONE ONE All Core Courses<br />

EMT1101 Engineering Ma<strong>the</strong>matics I 45 00 30 60 4<br />

EMT1102 Information and Communications Technology 30 60 00 60 4<br />

CMP1101 Electronics I 45 30 00 45 4<br />

TEC1101 Communication Skills 30 00 30 45 3<br />

CMP 1102 Computer Engineering Ethics 45 00 00 45 3 18<br />

TWO<br />

All Core Courses<br />

EMT1201 Engineering Ma<strong>the</strong>matics II 45 00 30 60 4<br />

CMP1201 Computer Programming Fundamentals 45 30 00 60 4<br />

CMP1202 Electronics II 45 30 00 60 4<br />

CMP1203 Computer Architecture and Organization 45 00 30 60 4<br />

ELE1201 Electricity and Magnetism 45 00 30 60 4 20<br />

RECESS TEC1301 Workshop Practice(Core Course) 00 300 00 30 2 2<br />

TWO ONE All Core Courses<br />

EMT2101 Engineering Ma<strong>the</strong>matics III 45 00 30 60 4<br />

CMP2101 S<strong>of</strong>tware Engineering 45 00 30 60 4<br />

CMP2102 Electric Circuits and Signals 45 30 00 60 4<br />

CMP2103 Object Oriented Programming 45 30 00 60 4<br />

TEC2101 Sociology for Technology 45 00 00 45 3 19<br />

TWO<br />

All Core Courses<br />

CMP2201 Discrete Ma<strong>the</strong>matics and Random Processes 45 00 30 60 4<br />

CMP2202 Analysis and Design <strong>of</strong> Algorithms 45 00 00 45 3<br />

CMP2203 Digital Logic 45 30 00 60 4<br />

CMP2204 Operating Systems Technologies 45 30 00 60 4<br />

CMP2205 Computer Networks 45 30 00 60 4 19<br />

RECESS CMP2301 Industrial Training I (Core Course) 00 300 00 30 2 2<br />

THREE ONE Core Courses<br />

ELE3101 Electromagnetic Fields 45 30 00 60 4<br />

ELE3102 Applied Digital Electronics 45 30 00 60 4


Faculty <strong>of</strong> Technology<br />

CMP3101 Database Systems 45 30 00 45 4<br />

Elective Courses (At Least One)<br />

EMT3102 Partial Differential Equations 45 00 30 60 4<br />

CMP3103 Computer Games Development 45 30 00 60 4<br />

CMP3104 Computer Based Medical Systems 45 30 00 60 4<br />

ELE3103 Applied Analogue Electronics 45 30 00 60 4 16<br />

TWO<br />

Core Courses<br />

CMP3201 Embedded Systems 45 30 00 60 4<br />

CMP3202 Human Computer Interaction 45 30 00 60 4<br />

CMP3203 Computer Systems Maintenance 45 30 00 60 4<br />

Elective Courses (At Least One)<br />

CMP3204 Distributed Information Systems 45 30 00 60 4<br />

CMP3205 Intelligent Systems 45 30 00 60 4<br />

CMP3206 Safety Critical System 45 30 00 60 4<br />

CMP3207 Sustainable Energy Systems 45 30 00 60 4 16<br />

RECESS CMP3301 Industrial Training II (Core Course) 00 300 00 0 2 2<br />

FOUR ONE Core Courses<br />

TEC4101 Research Methods 45 00 30 60 4<br />

CMP4101 Digital Signal Processing 45 30 00 60 4<br />

CMP4102 Instrumentation and Control Engineering 45 30 00 60 4<br />

Elective Courses (At Least One)<br />

TEC4102 Principles <strong>of</strong> Management 45 00 00 45 3<br />

CMP4103 Computer Systems and Network Security 30 30 00 45 3<br />

CMP4104 Digital Image and Video Processing 30 30 00 45 3 15<br />

TWO<br />

All Core Courses<br />

TEC4201 Entrepreneurship 60 0 60 4<br />

CMP4201 Research Project 00 120 30 45 4<br />

CMP4202 VLSI Systems Design 45 30 00 60 4<br />

Elective Courses (At Least One)<br />

CMP4203 Lasers and Photonics 30 30 00 45 3<br />

CMP4204 Wireless Technologies 30 30 00 45 3<br />

CMP4205 Audio and Speech Signal Processing 30 30 00 45 3 15<br />

TOTAL 144<br />

Bachelor <strong>of</strong> Science in Computer Engineering 9


Faculty <strong>of</strong> Technology<br />

9. DETAILED COURSE DESCRIPTIONS<br />

EMT1101: Engineering Ma<strong>the</strong>matics I<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WE WCM CU<br />

45 00 30 60 100 60 40 4<br />

Rationale<br />

Engineering Ma<strong>the</strong>matics is fundamental to <strong>the</strong> study <strong>of</strong> Computer Engineering. It<br />

provides <strong>the</strong> necessary analytical skills for <strong>the</strong> study <strong>of</strong> more advanced subjects such as<br />

Electronics, Discrete Ma<strong>the</strong>matics and for <strong>the</strong> design <strong>of</strong> Algorithms among o<strong>the</strong>rs.<br />

Applied Ma<strong>the</strong>matics is an edifice <strong>of</strong> computing and is as such crucial for Computer<br />

Engineering.<br />

Objectives<br />

<br />

<br />

<br />

The purpose <strong>of</strong> this course is to provide an introductory treatment <strong>of</strong><br />

ma<strong>the</strong>matical concepts fundamental to Engineering.<br />

It consolidates and advances <strong>the</strong> material covered in Advanced Level<br />

Ma<strong>the</strong>matics (UNEB). This course also provides <strong>the</strong> ma<strong>the</strong>matical tools needed<br />

in o<strong>the</strong>r semesters’ course units.<br />

To develop <strong>the</strong> analytical and critical thinking abilities fundamental to problem<br />

solving in Engineering.<br />

Course Content<br />

1. Concept <strong>of</strong> a Function<br />

Definition, Properties, Range, Domain <strong>of</strong> <strong>the</strong> elementary (Algebraic and<br />

Transcendental) Functions <strong>of</strong> a Real Variable<br />

Concept <strong>of</strong> a limit <strong>of</strong> a function <strong>of</strong> a real variable<br />

Continuity<br />

Indeterminate forms and L’Hopital’s Rule<br />

2. Complex Variable Algebra<br />

Cartesian and Polar Algebra representations;<br />

Absolute Values; Products, Powers and Quotients; Extraction <strong>of</strong> Roots;<br />

De Moivre’s Theorem;<br />

Exponential and Hyperbolic Functions <strong>of</strong> <strong>the</strong> Complex Variable.<br />

3. Differential Calculus<br />

The Derivative: Definitions, notation, properties and Theorems;<br />

Differentiation <strong>of</strong> elementary functions <strong>of</strong> a real variable.<br />

Applications: Optimization, Curve Sketching, Approximations<br />

Multivariable Differentiation: Partial Derivatives, Optimization and<br />

approximations.<br />

4. Integral Calculus<br />

The Integral: Definition and Properties<br />

Fundamental <strong>the</strong>orem <strong>of</strong> Calculus<br />

Techniques <strong>of</strong> Integration<br />

Definite Integral; its interpretation as area under a curve<br />

Applications <strong>of</strong> <strong>the</strong> Definite Integral: Length <strong>of</strong> a curve, area bound between<br />

curves, volume <strong>of</strong> revolution, moments<br />

Bachelor <strong>of</strong> Science in Computer Engineering 10


Faculty <strong>of</strong> Technology<br />

Improper Integrals and <strong>the</strong>ir evaluation using limits<br />

Integration <strong>of</strong> a Continuous Function; Inequalities; The Definite Integral as a<br />

Function <strong>of</strong> its Upper Limit<br />

Differentiation <strong>of</strong> an Integral Containing a Parameter; Double Integrals and<br />

<strong>the</strong>ir Applications<br />

5. Linear Transformations and Matrices<br />

Definitions and types <strong>of</strong> matrices<br />

Operations on Matrices: Sums, Products, Transposition <strong>of</strong> Matrices, Equality<br />

<strong>of</strong> Matrices;<br />

Determinants: Definition and Properties; Minors and C<strong>of</strong>actors; Evaluation<br />

<strong>of</strong> Determinants by C<strong>of</strong>actors; Rank <strong>of</strong> a Matrix; Inverse Matrices<br />

Solution <strong>of</strong> Systems <strong>of</strong> Linear Algebraic Equations; Consistent and<br />

Inconsistent Equations; Systems <strong>of</strong> Homogeneous Equations; Cramer’s Rule;<br />

The Gauss-Jordan Method, Gaussian Elimination.<br />

Learning Outcomes<br />

Firm grounding in <strong>the</strong> concepts learned at advanced level<br />

Recommended and Reference Books<br />

[1] C. Ray Wylie and Louis C. Barrett, Advanced Engineering Ma<strong>the</strong>matics, 6th<br />

ed., McGraw Hill, New York, 1995.<br />

[2] Erwin Kreyszig, Advanced Engineering Ma<strong>the</strong>matics, 8th ed., John Wiley and<br />

Sons.<br />

[3] Murray R Spiegel, Theory and Problems <strong>of</strong> Vector Analysis, SI (Metric) ed.,<br />

McGraw Hill<br />

[4] K. A. Stroud, Engineering Ma<strong>the</strong>matics, 5 th ed., Palgrave Macmillan, 2005<br />

[5] Bajpai, Calus, Fairley and Walker, Ma<strong>the</strong>matics for Engineers and Scientists<br />

[6] Edward & Penney, Calculus, International ed., Prentice Hall, 2002<br />

[7] J.L. Smyrl, Introduction to University Ma<strong>the</strong>matics, Edward Arnold, 1978<br />

EMT1102: Information and Communications Technology<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

30 60 00 60 100 60 40 4<br />

Rationale<br />

This course draws upon evolution <strong>of</strong> Information Communication Technologies as a<br />

precursor to applications <strong>of</strong> computers in day-to-day life. This is critical for any<br />

student going into <strong>the</strong> field <strong>of</strong> computer engineering.<br />

Objectives<br />

To provide an overview <strong>of</strong> <strong>the</strong> evolution <strong>of</strong> <strong>the</strong> computer<br />

To appreciate <strong>the</strong> societal importance and <strong>the</strong> trend towards <strong>the</strong> convergence <strong>of</strong><br />

computing and communication technology<br />

To introduce students to components <strong>of</strong> computer hardware and s<strong>of</strong>tware<br />

To expose <strong>the</strong> student to basic computer applications<br />

Course Content<br />

1. Introduction and Overview<br />

Definition <strong>of</strong> Information and Communication Technology<br />

Bachelor <strong>of</strong> Science in Computer Engineering 11


Faculty <strong>of</strong> Technology<br />

History and Evolution <strong>of</strong> Computing and Information Communication<br />

Technology<br />

The changing role <strong>of</strong> Information and Communication Technology in society<br />

Current domains <strong>of</strong> application <strong>of</strong> Information Communication Technology:<br />

Mobile Communication, Broadcasting, Internet, Enterprise applications,<br />

<strong>Office</strong> automation, Specialised Applications (Engineering, Entertainment,<br />

Simulation etc.)<br />

2. The Computer<br />

Definition <strong>of</strong> a computer, Types <strong>of</strong> computers, Elements <strong>of</strong> Computer<br />

Information Systems (CIS)<br />

Introduction to components <strong>of</strong> <strong>the</strong> computer: <strong>the</strong> user, hardware and <strong>the</strong><br />

s<strong>of</strong>tware<br />

3. Personal Computer Hardware<br />

Mo<strong>the</strong>rboard, Child-boards, and Circuitry<br />

Central Processing Unit: Control Unit, Registers and <strong>the</strong> Arithmetic Logic<br />

Unit<br />

Storage: Memory and Auxiliary Storage<br />

Buses: Types, USB and its advantages<br />

Chassis<br />

Peripherals: Input and Output devices<br />

Expansion cards<br />

Power Supply and <strong>the</strong> Un-interruptible Power Supply (UPS)<br />

Connectors<br />

4. Firmware<br />

Definition<br />

Types <strong>of</strong> firmware: BIOS and o<strong>the</strong>rs<br />

5. S<strong>of</strong>tware<br />

Definition<br />

Evolution<br />

System s<strong>of</strong>tware(operating systems, device drivers, utilities and file<br />

management)<br />

Application s<strong>of</strong>tware (definition and categorization)<br />

S<strong>of</strong>tware development tools<br />

Licensing (Proprietary, Shareware, freeware, General Public License (GPL))<br />

6. <strong>Office</strong> Automation<br />

Definitions<br />

Benefits <strong>of</strong> <strong>of</strong>fice automation<br />

Overview <strong>of</strong> <strong>of</strong>fice automation tools (Personal Information Management,<br />

<strong>Office</strong> Suites)<br />

7. Word Processing<br />

Definition and Evolution<br />

Types <strong>of</strong> Word Processors<br />

Features <strong>of</strong> a word processor<br />

Word processing exercise<br />

8. Spreadsheets<br />

Definition and Evolution<br />

Limitations <strong>of</strong> spreadsheets<br />

Features <strong>of</strong> a spreadsheet<br />

Bachelor <strong>of</strong> Science in Computer Engineering 12


Faculty <strong>of</strong> Technology<br />

Types <strong>of</strong> spreadsheet applications<br />

Spreadsheet exercises<br />

9. Presentations<br />

Definition<br />

Preparation<br />

Features <strong>of</strong> presentation packages<br />

Presentation exercise<br />

10. Email and Browsing <strong>the</strong> Internet<br />

Definition <strong>of</strong> <strong>the</strong> Internet<br />

Uses <strong>of</strong> <strong>the</strong> Internet<br />

Netiquette<br />

Internet Browsers<br />

Search engines and Web directories<br />

Email (Definition, Composing, Sending, Archiving, etc.)<br />

Email clients<br />

Information Literacy and lifelong learning (Definition and Implications <strong>of</strong><br />

Internet Resources)<br />

Makerere Information Communication Technology Services<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> student should be able to:<br />

Discuss <strong>the</strong> evolution <strong>of</strong> <strong>the</strong> computing and information communication<br />

technology<br />

Identify <strong>the</strong> types <strong>of</strong> computers<br />

Identify <strong>the</strong> hardware components <strong>of</strong> <strong>the</strong> computer<br />

Execute basic <strong>of</strong>fice automation tasks including word processing, working with<br />

spreadsheets and preparing computer-aided presentations<br />

Browse <strong>the</strong> internet and use email<br />

Recommended and Reference Books<br />

Due to <strong>the</strong> volatile nature <strong>of</strong> <strong>the</strong> pertinent content, <strong>the</strong> student should be guided by <strong>the</strong><br />

substantive instructor to access <strong>the</strong> reference materials.<br />

CMP1101: Electronics I<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

Electronics is foundational material for computer engineering. The computer is an<br />

electronic device whose development is highly dependent on advances in <strong>the</strong><br />

electronics industry. For this reason, it is mandatory for a student to have basic<br />

knowledge <strong>of</strong> <strong>the</strong> design <strong>of</strong> <strong>the</strong> electronic circuits used to implement computers.<br />

Objectives<br />

The course aims to provide <strong>the</strong> student with:<br />

<br />

An understanding <strong>of</strong> how complex devices such as semiconductor diodes are<br />

modelled and how <strong>the</strong> models are used in <strong>the</strong> design and analysis <strong>of</strong> useful<br />

circuits.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 13


Faculty <strong>of</strong> Technology<br />

The capability to design and construct circuits, take measurements <strong>of</strong> circuit<br />

behavior and performance, compare with predicted circuit models and explain<br />

discrepancies.<br />

Course Content<br />

1. History and Overview<br />

Reasons for study<br />

Influential people<br />

Important areas such as material properties, diodes, transistors, storage<br />

elements, interfaces and buses<br />

Issues and parameters in electronics design<br />

Circuit simulators; data conversion and circuits<br />

2. Electronic Properties <strong>of</strong> Materials<br />

Solid-state materials<br />

Electrons and holes; Doping, acceptors and donors<br />

p- and n-type material; Conductivity and resistivity<br />

Drift and diffusion currents, mobility and diffusivity<br />

3. Diodes and Diode Circuits<br />

Diode operation and i-v characteristics<br />

Regions <strong>of</strong> operation, models, and limitations<br />

Schottky, Zener, variable capacitance diodes<br />

Single diode circuits, <strong>the</strong> load line<br />

Multi-diode circuits<br />

Rectifiers<br />

dc/dc converters<br />

Diode logic: AND and OR functions<br />

4. MOS Transistors and Biasing<br />

NMOS field-effect transistor operation<br />

I-V characteristics<br />

Regions <strong>of</strong> operation, models, and limitations<br />

Enhancement and depletion-mode devices<br />

PMOS devices<br />

Transfer characteristic <strong>of</strong> FET with load resistor<br />

Biasing for logic and amplifier applications<br />

5. MOS Logic Families<br />

Logic level definitions<br />

NMOS logic design: Inverter, NOR, NAND, SOP, POS, complex gates<br />

PMOS logic<br />

CMOS logic: Inverter, NOR, NAND, SOP, POS, complex gates<br />

Dynamic logic<br />

CVS logic<br />

Cascade buffers<br />

NMOS and CMOS power/delay scaling<br />

Learning Outcomes<br />

<br />

Identify some contributors to electronics and relate <strong>the</strong>ir achievements to <strong>the</strong><br />

knowledge area; describe a transistor and its functionality; identify some storage<br />

elements; articulate <strong>the</strong> purpose <strong>of</strong> buses; indicate <strong>the</strong> importance <strong>of</strong> designing<br />

data conversion circuits; identify two s<strong>of</strong>tware products used for designing and<br />

Bachelor <strong>of</strong> Science in Computer Engineering 14


Faculty <strong>of</strong> Technology<br />

<br />

<br />

<br />

<br />

simulating circuits; and describe how computer engineering uses or benefits from<br />

electronics.<br />

Indicate <strong>the</strong> properties <strong>of</strong> materials that lead to be useful for <strong>the</strong> construction <strong>of</strong><br />

electronic circuits, giving reasons; and explain <strong>the</strong> uses <strong>of</strong> one particular material<br />

(as opposed to alternatives) to serve a stated purpose.<br />

Explain <strong>the</strong> properties <strong>of</strong> diodes; and outline <strong>the</strong> use <strong>of</strong> diodes in <strong>the</strong> construction<br />

<strong>of</strong> a range <strong>of</strong> circuits including rectifiers, ac/dc converters, and common logic<br />

functions.<br />

Indicate <strong>the</strong> areas <strong>of</strong> use <strong>of</strong> NMOS, PMOS, CMOS, and dynamic logic families;<br />

and demonstrate <strong>the</strong> ability to implement a range <strong>of</strong> logic functions using each <strong>of</strong><br />

NMOS, PMOS, CMOS, and dynamic logic.<br />

Explain <strong>the</strong> differences between <strong>the</strong> different MOS logic families; and articulate<br />

<strong>the</strong> advantages <strong>of</strong> dynamic logic.<br />

Recommended and References Books<br />

[1] Agarwal, Anant, and Jeffrey H. Lang. Foundations <strong>of</strong> Analog and Digital<br />

Electronic Circuits. San Mateo, CA: Morgan Kaufmann Publishers, Elsevier,<br />

July 2005. ISBN: 9781558607354.<br />

[2] Earl D. Gates, Introduction to Electronics, 4 th ed., Thomson, 2004<br />

[3] D. C. Green, Electronics 4, 3 rd ed., Longman, 1995<br />

CMP1102: Computer Engineering Ethics<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 0 00 45 100 60 40 3<br />

Rationale<br />

Being a pr<strong>of</strong>ession that commands a certain way <strong>of</strong> life, engineering subscribes to<br />

fundamental rules that <strong>the</strong> engineer must adhere to in practice. This course introduces<br />

<strong>the</strong> student to <strong>the</strong> practical imperatives <strong>of</strong> <strong>the</strong> engineering pr<strong>of</strong>ession. With <strong>the</strong> ever<br />

increasing cases <strong>of</strong> computer crimes, it is important to expose <strong>the</strong> student with <strong>the</strong><br />

implications and challenges associated with use <strong>of</strong> computers in society today.<br />

Objectives<br />

<br />

<br />

<br />

<br />

To develop an understanding <strong>of</strong> <strong>the</strong> social and pr<strong>of</strong>essional context in which<br />

computer engineering education applies.<br />

To emphasize <strong>the</strong> ethical considerations associated with computer engineering.<br />

To sensitize <strong>the</strong> computer engineering student about <strong>the</strong> potential conflicts<br />

between <strong>the</strong> obligations to <strong>the</strong>ir employer and <strong>the</strong> obligations to <strong>the</strong> customer,<br />

user, and o<strong>the</strong>rs affected by <strong>the</strong>ir work.<br />

To impress on <strong>the</strong> student that computer engineers must be cognizant <strong>of</strong> <strong>the</strong>ir<br />

responsibility to <strong>the</strong> public.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 15


Faculty <strong>of</strong> Technology<br />

Course Content<br />

1. History and Overview<br />

Indicate some reasons for studying social and pr<strong>of</strong>essional issues<br />

Highlight some people that influenced or contributed to <strong>the</strong> area <strong>of</strong> social and<br />

pr<strong>of</strong>essional issues<br />

Indicate some important topic areas such social context <strong>of</strong> computing,<br />

pr<strong>of</strong>essional and ethical responsibilities, risks and trade-<strong>of</strong>fs, intellectual<br />

property, privacy, and codes <strong>of</strong> ethics and pr<strong>of</strong>essional conduct<br />

Contrast between what is legal to what is ethical<br />

Explain <strong>the</strong> importance <strong>of</strong> ethical integrity in <strong>the</strong> practice <strong>of</strong> computer<br />

engineering<br />

Mention some ways a computer engineer may have to make conflicting ethical<br />

choices in practicing <strong>the</strong> engineering pr<strong>of</strong>ession<br />

Explain <strong>the</strong> meaning <strong>of</strong> whistle blowing and <strong>the</strong> dilemma it sometimes places<br />

on computer engineers<br />

Explain pr<strong>of</strong>essionalism relative to a practicing engineer<br />

Show that credentialing preserves <strong>the</strong> integrity <strong>of</strong> a pr<strong>of</strong>essional<br />

Describe risk and its contrast with safety<br />

Explain <strong>the</strong> difference between a patent and a copyright<br />

Describe how privacy issues affect <strong>the</strong> practice <strong>of</strong> computer engineering<br />

Explore some additional resources associated with social and pr<strong>of</strong>essional<br />

issues<br />

Explain <strong>the</strong> purpose and ro le <strong>of</strong> social and pr<strong>of</strong>essional issues in<br />

computer engineering<br />

2. Public Policy<br />

Introduction to <strong>the</strong> social implications <strong>of</strong> computing<br />

Social implications <strong>of</strong> networked communication<br />

Growth <strong>of</strong>, control <strong>of</strong>, and access to <strong>the</strong> Internet<br />

Gender-related issues<br />

3. International issues<br />

Methods and Tools <strong>of</strong> Analysis<br />

Making and evaluating ethical arguments<br />

Identifying and evaluating ethical choices<br />

Understanding <strong>the</strong> social context <strong>of</strong> design<br />

Identifying assumptions and values<br />

4. Pr<strong>of</strong>essional and Ethical Responsibilities<br />

Community values and <strong>the</strong> laws by which we live<br />

The nature <strong>of</strong> pr<strong>of</strong>essionalism<br />

Various forms <strong>of</strong> pr<strong>of</strong>essional credentialing and <strong>the</strong> advantages and<br />

disadvantages<br />

The role <strong>of</strong> <strong>the</strong> pr<strong>of</strong>essional in public policy<br />

The role <strong>of</strong> licensure and practice in engineering<br />

Contrasts <strong>of</strong> licensure in engineering but not o<strong>the</strong>r disciplines<br />

Maintaining awareness <strong>of</strong> consequences<br />

Ethical dissent and whistle blowing<br />

Codes <strong>of</strong> ethics, conduct, and practice (NSPE, IEEE, ACM, SE, AITP, and<br />

so forth)<br />

Bachelor <strong>of</strong> Science in Computer Engineering 16


Faculty <strong>of</strong> Technology<br />

Dealing with harassment and discrimination<br />

“Acceptable use” policies for computing in <strong>the</strong> workplace<br />

5. Risks and Liabilities<br />

Historical examples <strong>of</strong> s<strong>of</strong>tware risks such as <strong>the</strong> Therac-25 case<br />

Product safety and public consumption<br />

Implications <strong>of</strong> s<strong>of</strong>tware complexity<br />

Risk assessment and management<br />

6. Intellectual Property<br />

Foundations <strong>of</strong> intellectual property<br />

Copyrights, patents, and trade secrets<br />

S<strong>of</strong>tware piracy<br />

S<strong>of</strong>tware patents<br />

Transnational issues concerning intellectual property<br />

7. Privacy and Civil Liberties<br />

Ethical and legal basis for privacy protection<br />

Privacy implications <strong>of</strong> massive database systems<br />

Technological strategies for privacy protection<br />

Freedom <strong>of</strong> expression in cyberspace<br />

International and intercultural implications<br />

8. Computer Crime<br />

History and examples <strong>of</strong> computer crime<br />

“Cracking” (“hacking”) and its effects<br />

Viruses, worms, and Trojan horses<br />

Crime prevention strategies<br />

9. Economic Issues in Computing<br />

Costing out jobs with considerations on manufacturing, hardware, s<strong>of</strong>tware,<br />

and engineering implications<br />

Cost estimates versus actual costs in relation to total costs<br />

Use <strong>of</strong> engineering economics in dealing with finances<br />

Entrepreneurship: prospects and pitfalls<br />

Monopolies and <strong>the</strong>ir economic implications<br />

Effect <strong>of</strong> skilled labor supply and demand on <strong>the</strong> quality <strong>of</strong> computing<br />

products<br />

Pricing strategies in <strong>the</strong> computing domain<br />

Differences in access to computing resources and <strong>the</strong> possible effects <strong>the</strong>re<strong>of</strong><br />

10. Philosophical Frameworks<br />

Philosophical frameworks, particularly utilitarianism and deontological<br />

<strong>the</strong>ories<br />

Problems <strong>of</strong> ethical relativism<br />

Scientific ethics in historical perspective<br />

Differences in scientific and philosophical approaches<br />

Learning Outcomes<br />

On completing this course <strong>the</strong> student should be able to:<br />

Identify some contributors to social and pr<strong>of</strong>essional issues and relate <strong>the</strong>ir<br />

achievements to <strong>the</strong> knowledge area; Contrast between ethical and legal issues;<br />

Contrast between a patent and a copyright; Identify some ways <strong>of</strong> credentialing a<br />

person to practice computer engineering; Describe issues that contrast risk<br />

issues with safety issues; Identify some issues in computer engineering that<br />

Bachelor <strong>of</strong> Science in Computer Engineering 17


Faculty <strong>of</strong> Technology<br />

address privacy; Describe whistle blowing and <strong>the</strong> conflicts between ethics and<br />

practice that may result from doing so; and Describe how computer engineering<br />

uses or benefits from social and pr<strong>of</strong>essional issues.<br />

Interpret <strong>the</strong> social context <strong>of</strong> a particular implementation; Identify assumptions<br />

and values embedded in a particular design; Evaluate a particular implementation<br />

using empirical data; Describe positive and negative ways in which computing<br />

altars <strong>the</strong> modes <strong>of</strong> interaction between people; and Explain why<br />

computing/network access is restricted in some countries<br />

Analyze an argument to identify premises and conclusion; illustrate <strong>the</strong> use <strong>of</strong><br />

example, analogy, and counter-analogy in ethical argument; detect use <strong>of</strong> basic<br />

logical fallacies in an argument; identify stakeholders in an issue and our<br />

obligations to <strong>the</strong>m; and articulate <strong>the</strong> ethical trade<strong>of</strong>fs in a technical decision.<br />

Identify progressive stages in a whistle-blowing incident; Specify <strong>the</strong> strengths<br />

and weaknesses <strong>of</strong> relevant pr<strong>of</strong>essional codes as expressions <strong>of</strong> pr<strong>of</strong>essionalism<br />

and guides to decision-making; Provide arguments for and against licensure in<br />

non-engineering pr<strong>of</strong>essions; Identify ethical issues that arise in s<strong>of</strong>tware<br />

development and determine how to address <strong>the</strong>m technically and ethically;<br />

Develop a computer use policy with enforcement measures;<br />

Explain <strong>the</strong> limitations <strong>of</strong> testing as a means to ensure correctness; recognize <strong>the</strong><br />

importance <strong>of</strong> product safety when designing computer systems; describe <strong>the</strong><br />

differences between correctness, reliability, and safety; recognize unwarranted<br />

assumptions <strong>of</strong> statistical independence <strong>of</strong> errors; discuss <strong>the</strong> potential for hidden<br />

problems in reuse <strong>of</strong> existing components.<br />

Distinguish among patent, copyright, and trade secret protection; discuss <strong>the</strong><br />

legal background <strong>of</strong> copyright in national and international law; explain how<br />

patent and copyright laws may vary internationally; and outline <strong>the</strong> historical<br />

development <strong>of</strong> s<strong>of</strong>tware patents.<br />

Summarize <strong>the</strong> legal bases for <strong>the</strong> right to privacy and freedom <strong>of</strong> expression in<br />

one’s own nation; discuss how those concepts vary from country to country;<br />

describe current computer-based threats to privacy; and explain how <strong>the</strong> internet<br />

may change <strong>the</strong> historical balance in protecting freedom <strong>of</strong> expression.<br />

Outline <strong>the</strong> technical basis <strong>of</strong> viruses and denial-<strong>of</strong>-service attacks; enumerate<br />

techniques to combat “cracker” attacks; discuss several different “cracker”<br />

approaches and motivations; and identify <strong>the</strong> pr<strong>of</strong>essional’s role in security and<br />

<strong>the</strong> trade<strong>of</strong>fs involved.<br />

Describe <strong>the</strong> assessment <strong>of</strong> total job costs; evaluate <strong>the</strong> risks <strong>of</strong> entering one’s<br />

own business; apply engineering economic principles when considering fiscal<br />

arrangements; summarize <strong>the</strong> rationale for antimonopoly efforts; describe several<br />

ways in which shortages in <strong>the</strong> labor supply affect <strong>the</strong> information technology<br />

industry; and suggest and defend ways to address limitations on access to<br />

computing.<br />

Summarize <strong>the</strong> basic concepts <strong>of</strong> relativism, utilitarianism, and deontological<br />

<strong>the</strong>ories; recognize <strong>the</strong> distinction between ethical <strong>the</strong>ory and pr<strong>of</strong>essional ethics;<br />

identify <strong>the</strong> weaknesses <strong>of</strong> <strong>the</strong> “hired agent” approach, strict legalism, naïve<br />

egoism, and naïve relativism as ethical frameworks<br />

Recommended and Reference Books<br />

[1] Kenneth E. Himma, Herman T. Tavani, 2008. The Handbook <strong>of</strong> Information and<br />

Computer Ethics. Wiley-Interscience. ISBN-10: 0471799599 , ISBN-13: 978-<br />

0471799597<br />

[2] J. Fernando Naveda and Stephen B. Seidman, 2006. IEEE Computer Society Real-<br />

Bachelor <strong>of</strong> Science in Computer Engineering 18


Faculty <strong>of</strong> Technology<br />

World S<strong>of</strong>tware Engineering Problems: A Self-Study Guide for Today's S<strong>of</strong>tware<br />

Pr<strong>of</strong>essional (Practitioners). Wiley-IEEE Computer Society Pr. ISBN-10:<br />

0471710512 , ISBN-13: 978-0471710516<br />

[3] Winn Schwartau, D. L. Busch, 2001. Internet & Computer Ethics for Kids: (and<br />

Parents & Teachers Who Haven't Got a Clue.). Interpact Press. ISBN-10:<br />

0962870056, ISBN-13: 978-0962870057<br />

[4] Mike W. Martin, Roland Schinzinger, 2004. Ethics in Engineering. McGraw-Hill<br />

Science/Engineering/Math; 4 Edition. ISBN-10: 0072831154, ISBN-13: 978-<br />

0072831153<br />

[5] Caroline Whitbeck, Woodie C. Flowers, 1998. Ethics in Engineering Practice and<br />

Research. Cambridge University Press ISBN-10: 0521479444, ISBN-13: 978-<br />

0521479448<br />

[6] Gail Dawn Baura, 2006.Engineering Ethics: An Industrial Perspective. <strong>Academic</strong><br />

Press; 1 Edition.ISBN-10: 012088531X, ISBN-13: 978-0120885312<br />

TEC1101: Communication Skills<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

30 00 30 45 100 60 40 3<br />

Rationale<br />

The applications <strong>of</strong> engineering occur in society, as thus effective communication to<br />

varied audiences and clientele is a key virtue a computer engineer must possess.<br />

Communication is a tool through which work gets done, ideas get sold and defended.<br />

This course introduces to <strong>the</strong> students principles <strong>of</strong> organization, development, and<br />

writing <strong>of</strong> technical documents; and instils in <strong>the</strong>m skills <strong>of</strong> listening, speaking and<br />

interaction.<br />

Objective<br />

To develop <strong>the</strong> skills <strong>of</strong> reading, listening, speaking and interaction<br />

To cultivate technical writing and documentation skills<br />

To enhance <strong>the</strong> student’s public and formal presentation skills<br />

Course Content<br />

1. Interpersonal Skills<br />

Reading both individual and public<br />

Listening Skills<br />

Speaking, Interaction, and Conversational Skills<br />

The Concept Team Work<br />

Inter-<strong>Office</strong> and Intra-<strong>Office</strong> Communication<br />

Conduct <strong>of</strong> Discussions and Dynamics <strong>of</strong> Meetings<br />

2. Writing and Documentation Skills<br />

Note-taking<br />

Writing Minutes<br />

Writing Notice <strong>of</strong> Meeting and Agenda<br />

Preparing Formal Documents (Resume, Application Letters, Acceptance<br />

Letters, Resignation Letters, Memos, Circulars, Responses, Letters <strong>of</strong><br />

Introduction etc)<br />

Development <strong>of</strong> Technical and <strong>Academic</strong> Documents(Theses, Proposals,<br />

Bachelor <strong>of</strong> Science in Computer Engineering 19


Faculty <strong>of</strong> Technology<br />

Dissertations, Laboratory Reports, Papers, Articles, Abstracts)<br />

3. Oral Presentation Principles<br />

Visual and Computer-assisted presentation<br />

Analysis and Design <strong>of</strong> Web Presentation<br />

Choice and use <strong>of</strong> appropriate presentation tools<br />

Organising and presenting effective talk<br />

Learning Outcomes<br />

Upon completion <strong>of</strong> this course, <strong>the</strong> student should be able to:<br />

Exhibit effective skills in reading, listening, speaking and interaction<br />

<br />

<br />

Prepare technical and academic documents<br />

Effectively deliver Public and Formal Oral Presentations using appropriate Visual<br />

and Computer aids<br />

Recommended and Reference Books<br />

[1] Ros Jay, How to Write Proposals & Reports that Get Results, Pearson-Prentice<br />

Hall, 2003<br />

[2] N. A. Saleemi, Business Communication and Report Writing Simplified, 1 st<br />

ed., N. A. Saleemi Publishers, 1997<br />

EMT1201: Engineering Ma<strong>the</strong>matics II<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 00 30 60 100 60 40 4<br />

Rationale<br />

Against <strong>the</strong> foundation <strong>of</strong> <strong>the</strong> Calculus and Algebra covered in EMT1101, this course<br />

develops <strong>the</strong> fundamental aspects <strong>of</strong> Ma<strong>the</strong>matical Analysis critical to Engineering. The<br />

major <strong>the</strong>mes include; Ordinary Differential Equations, Real Analysis, Complex<br />

Variable Analysis, and Numerical Analysis.<br />

Objectives<br />

<br />

<br />

<br />

<br />

To introduce students to <strong>the</strong> concept <strong>of</strong> Single Predictor-Response ma<strong>the</strong>matical<br />

modelling in areas such as electrical circuit problems and vibratory and<br />

oscillatory mechanical systems<br />

To expose students to analytical solutions <strong>of</strong> classical ordinary differential<br />

equations in ma<strong>the</strong>matical physics.<br />

To expose students to <strong>the</strong> fundamentals <strong>of</strong> Real Analysis.<br />

To introduce students <strong>the</strong> foundations <strong>of</strong> Scientific Computing and Numerical<br />

Analysis.<br />

Course Content<br />

1. Ordinary Differential Equations<br />

Definition <strong>of</strong> Differential Equations<br />

Definition and Classification <strong>of</strong> Ordinary Differential Equations<br />

Formulation <strong>of</strong> Ordinary Differential Equations - electrical circuit problems<br />

and vibratory and oscillatory mechanical systems<br />

Solution Techniques for First Order ODE’s<br />

- Method <strong>of</strong> Separation <strong>of</strong> Variables<br />

- Methods for Exact Equations<br />

Bachelor <strong>of</strong> Science in Computer Engineering 20


Faculty <strong>of</strong> Technology<br />

- Equation Reducible to Exact Form (The Integrating Factor)<br />

- Applications to electrical circuit problems and vibratory and oscillatory<br />

mechanical systems<br />

Solution Techniques for Higher Order ODE’s<br />

- The General n th Order ODE<br />

- Existence and Uniqueness <strong>of</strong> Solution <strong>of</strong> Linear Equations<br />

- Second Order Homogeneous ODE’s with Constant Coefficients (auxiliary<br />

equation and method <strong>of</strong> variation <strong>of</strong> parameters)<br />

- Second Order Non-Homogeneous ODE’s with Constant Coefficients (The<br />

Complimentary and Particular Solution, Method <strong>of</strong> Undetermined<br />

Coefficients)<br />

- Special Cases (Equations Reducible to 1 st Order or 2 nd Order with<br />

Constant Coefficients)<br />

- Applications to electrical circuit problems and vibratory and oscillatory<br />

mechanical systems<br />

Solutions <strong>of</strong> Systems <strong>of</strong> Linear First Order ODE’s<br />

2. Real Analysis<br />

Sequences - Definitions and Examples. Convergence <strong>of</strong> Sequences,<br />

Sequences <strong>of</strong> Real and Complex Numbers. Some Limit Theorems <strong>of</strong><br />

Sequences.<br />

Series – Definition, Series as a Summation <strong>of</strong> Terms <strong>of</strong> a Sequence,<br />

Necessary Condition for Convergence, Sufficient Conditions for Convergence<br />

(Cauchy’s n th Root Test, D’Alembert Ratio Test, Comparison Test),<br />

Convergence <strong>of</strong> Series with Negative Terms, and Absolute Converge<br />

Power Series – Definitions, Maclaurin’s and Taylor’s Series and<br />

Approximations, Arithmetic Operations on Power Series (Sum, Products,<br />

Shifting <strong>of</strong> Summation Indices, and Differentiation), Convergence (Radius,<br />

Interval and Tests)<br />

Differentiability, Rolle’s Theorem, The Mean Value Theorem, Cauchy’s Mean<br />

Value Theorem, Pro<strong>of</strong> <strong>of</strong> L’Hospital’s<br />

Pro<strong>of</strong> <strong>of</strong> <strong>the</strong> Fundamental Theorem <strong>of</strong> Calculus<br />

Riemann Integral-Definition and Characteristics<br />

Fourier Series – Motivation, Definition, Existence, Fourier Series <strong>of</strong> General<br />

Functions (<strong>of</strong> period 2 or arbitrary), Fourier Series <strong>of</strong> Odd and Even<br />

Functions, Half-Range Fourier Series Expansions, Determination <strong>of</strong> Fourier<br />

Series without Integration. Dirichlet’s Theorem (Limit <strong>the</strong>orems). Application<br />

<strong>of</strong> Fourier Series to Electric Circuits.<br />

3. Scientific Computing and Numerical Analysis using MATLAB and<br />

Spreadsheets<br />

Definition and Rationale for Scientific Computing<br />

Error Analysis<br />

Numerical Solutions <strong>of</strong> Polynomial Algebraic Equations, Interpolation<br />

Formulae<br />

Numerical Differentiation and Integration, Trapezoidal and Simpson’s Rules<br />

<strong>of</strong> Integration<br />

Numerical Solutions <strong>of</strong> Ordinary Differential Equations: Euler method,<br />

Modified Euler method and Runge-Kutta<br />

4. Complex Variable Analysis<br />

Complex Variable Analysis<br />

Bachelor <strong>of</strong> Science in Computer Engineering 21


Faculty <strong>of</strong> Technology<br />

Functions <strong>of</strong> a Complex Variable<br />

Mapping and Conformal Mapping<br />

Line Integrals<br />

Cauchy-Goursat Theorem<br />

Taylor and Laurent Series<br />

Residue Theory<br />

Complex Analysis Applied to Potential Theory<br />

Z-Transforms<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> student will:<br />

Be able to formulate Ordinary Differential models associated with Electric<br />

Circuits<br />

Obtain analytical and numerical solutions <strong>of</strong> Ordinary Differential Equations;<br />

Have acquired <strong>the</strong> analytical ability critical to engineering problem solving<br />

Recommended and Reference Books<br />

[1] Martin M. Lipschutz, Theory and Problems <strong>of</strong> Differential Geometry,<br />

McGraw-Hill, 1969<br />

[2] C. Ray Wylie and Louis C. Barrett, Advanced Engineering Ma<strong>the</strong>matics, 6th<br />

ed., McGraw Hill, New York, 1995.<br />

[3] Erwin Kreyszig, Advanced Engineering Ma<strong>the</strong>matics, 8th ed., John Wiley and<br />

Sons.<br />

[4] Murray R Spiegel, Theory and Problems <strong>of</strong> Vector Analysis, SI (Metric) ed.,<br />

McGraw Hill<br />

[5] Murray R. Spiegel, 1981. Applied Differential Equations. 3rd Edition.<br />

Prentice-Hall, Inc., Englewood Cliffs, N.J. 07632<br />

[6] Mary L. Boas, 1983. Ma<strong>the</strong>matical Methods in <strong>the</strong> Physical Sciences. 2nd<br />

Edition. John Wiley & Sons, INC. New York<br />

[7] G. Stephenson, 1988. Ma<strong>the</strong>matical Methods for Science Students. 2nd<br />

Edition. Longman Group UK<br />

[8] Thomas M. Creese and Robert M. Haralick, 1978. Differential Equations for<br />

Engineers. McGraw-Hill, N. Y. US<br />

[9] Shepley L. Ross, 1966. Introduction to Ordinary Differential Equations.<br />

Blaisdell Publishing Company, Massachusetts, US.<br />

[10] L. R. Mustoe, 1988. Worked Examples in Advanced Engineering<br />

Ma<strong>the</strong>matics. John Wiley & Sons Ltd. Great Britain.<br />

CMP1201: Computer Programming Fundamentals<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

Competency in a programming language is prerequisite to <strong>the</strong> study <strong>of</strong> computer<br />

engineering. Object-oriented programming, event-driven applications, and <strong>the</strong> use <strong>of</strong><br />

extensive APIs (application programming interfaces) are fundamental tools that<br />

computer engineering students need early in <strong>the</strong>ir academic program.<br />

Objectives<br />

Bachelor <strong>of</strong> Science in Computer Engineering 22


Faculty <strong>of</strong> Technology<br />

To introduce <strong>the</strong> student to <strong>the</strong> fundamental aspects <strong>of</strong> computer program<br />

writing<br />

To relate with <strong>the</strong> history and evolution <strong>of</strong> computer programming<br />

To expose <strong>the</strong> student to <strong>the</strong> state-<strong>of</strong>-<strong>the</strong>-art computer programming tools<br />

To provide <strong>the</strong> student with <strong>the</strong> basics <strong>of</strong> computer program design<br />

Course Content<br />

1. History and Overview<br />

Indicate some reasons for studying programming fundamentals<br />

Influential people; important areas such as programming constructs,<br />

algorithms, problem solving, data structures, programming paradigms,<br />

recursion, object-oriented programming, event-driven programming, and<br />

concurrent programming<br />

Contrast between an algorithm and a data structure<br />

Distinguish between a variable, type, expression, and assignment<br />

Highlight <strong>the</strong> role <strong>of</strong> algorithms in solving problems<br />

Describe some <strong>of</strong> <strong>the</strong> fundamental data structures such as array, record, stack,<br />

and queue<br />

Explain how divide-and-conquer strategies lend <strong>the</strong>mselves to recursion<br />

Explore some additional resources associated with programming<br />

fundamentals<br />

Explain <strong>the</strong> purpose and role <strong>of</strong> programming fundamentals in computer<br />

engineering<br />

2. Programming Languages<br />

Definition and History<br />

Characteristics (Pragmatics, Semantics and Syntax)<br />

Distinction between Text-based and Visual Programming<br />

Classification (Categorical, Chronological and Generational)<br />

Comparison <strong>of</strong> common programming languages (C, C++, C#, Java)<br />

Programming errors and warnings (syntax, logical, etc.)<br />

3. Programming Paradigms<br />

Definition and rationale <strong>of</strong> a programming paradigm<br />

Types: Structured, Unstructured, Procedural, Object-oriented, Event-Drive,<br />

Generic etc.<br />

Separation <strong>of</strong> behavior and implementation<br />

4. ISO/ANSI C++ Programming Fundamentals<br />

Bjarne Stroustrup Design rules<br />

Console applications basics (Source file, Basic I/O, Standard I/O Consoles,<br />

Function main( ))<br />

Fundamental data types<br />

Expressions and operators<br />

Control constructs (Conditional and Iterative)<br />

Pointers and Named collections (Arrays, Enumerators, Bit-fields, Unions)<br />

User-defined data types (Structures and Classes)<br />

Functions (In-built and User-defined)<br />

Object –oriented programming (Abstraction, Encapsulation, Inheritance,<br />

Composition, Polymorphism, Friend and Virtual Functions)<br />

File I/O<br />

5. Algorithms and Problem-Solving<br />

Bachelor <strong>of</strong> Science in Computer Engineering 23


Faculty <strong>of</strong> Technology<br />

Problem-solving strategies<br />

The role <strong>of</strong> algorithms in <strong>the</strong> problem-solving process<br />

Implementation strategies for algorithms<br />

Debugging strategies<br />

The concept and properties <strong>of</strong> algorithms<br />

Structured decomposition<br />

6. The Integrated Development Environment (IDE)<br />

Definition<br />

Toolchains<br />

Advantages <strong>of</strong> IDEs<br />

Comparison <strong>of</strong> IDEs<br />

Using a typical IDE (Visual Studio)<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> student should be able to:<br />

<br />

<br />

<br />

<br />

<br />

Describe how computer engineering uses or benefits from programming<br />

fundamentals.<br />

Identify <strong>the</strong> appropriate paradigm for a given programming problem.<br />

Use a suitable programming language to implement, test, and debug algorithms<br />

for solving simple problems.<br />

Describe <strong>the</strong> way a computer allocates and represents <strong>the</strong>se data structures in<br />

memory.<br />

Outline <strong>the</strong> philosophy <strong>of</strong> object-oriented design and <strong>the</strong> concepts <strong>of</strong><br />

encapsulation, subclassing, inheritance, and polymorphism.<br />

Recommended and Reference Books<br />

[1] Herbert Schildt, 2003. C++ from <strong>the</strong> Ground Up, Third Edition, McGraw-<br />

Hill/Osborne, ISBN 0-07-222897-0<br />

[2] Chuck Easttom, 2003. C++ Programming Fundamentals, Charles River<br />

Media, ISBN 158402371<br />

[3] Bjarne Stroustrup, 2000. The C++ Programming Language, Addison-Wesley,<br />

ISBN 0-201-70073-5<br />

[4] Michael T. Goodrich, Roberto Tamassio, David Mount, 1995. Data Structures<br />

and Algorithms in C++, John Wiley, ISBN 0-471-20208-8<br />

[5] Robert Sedgewick, 2001. Algorithms in C++, Addison – Wesley, ISBN<br />

0201510596<br />

[6] Nell Dale, 2003. C++ Data Structures, Jones and Bartlett Publishers<br />

Bachelor <strong>of</strong> Science in Computer Engineering 24


Faculty <strong>of</strong> Technology<br />

CMP1202: Electronics II<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

This is a continuation <strong>of</strong> CMP1101: Electronics I.<br />

Objectives<br />

The course aims to provide <strong>the</strong> student with:<br />

<br />

An understanding <strong>of</strong> how complex devices such as field-effect transistors are<br />

modelled and how <strong>the</strong> models are used in <strong>the</strong> design and analysis <strong>of</strong> useful<br />

circuits.<br />

The capability to design and construct circuits, take measurements <strong>of</strong> circuit<br />

behavior and performance, compare with predicted circuit models and explain<br />

discrepancies.<br />

Course Content<br />

1. Bipolar Transistors and Logic families<br />

npn and pnp transistor operation<br />

i-v characteristics<br />

Regions <strong>of</strong> operation, models, and limitation<br />

Transfer characteristic <strong>of</strong> BJT with load resistor<br />

Biasing for logic and amplifier applications<br />

Logic level definitions<br />

The differential pair as a current switch<br />

Transistor-transistor logic – inverters, NAND, o<strong>the</strong>r functions<br />

Emitter-coupled logic – OR/NOR gate, o<strong>the</strong>r functions<br />

Low voltage bipolar logic families<br />

2. Design Parameters and Issues<br />

Switching energy, power-delay product comparison<br />

Propagation delay, rise time, fall time<br />

Fan-in and fan-out<br />

Power dissipation, noise margin<br />

Power supply distribution<br />

Sources <strong>of</strong> signal coupling and degradation<br />

Transmission line effects<br />

passive, active, dc and ac termination<br />

Element tolerances<br />

Worst-case analysis <strong>of</strong> circuits<br />

Monte Carlo analysis<br />

Monte Carlo analysis in SPICE<br />

Six-sigma design<br />

3. Storage Elements<br />

Latches<br />

Flip-flops<br />

Bachelor <strong>of</strong> Science in Computer Engineering 25


Faculty <strong>of</strong> Technology<br />

Static RAM cells<br />

Dynamic RAM cells<br />

Sense amplifiers<br />

4. Interfacing Logic Families and Standard Buses<br />

Terminal characteristics <strong>of</strong> various logic families<br />

Standard interface characteristics<br />

Level translations: TTL/CMOS, TTL/ECL, CMOS/ECL<br />

Single-ended to differential and differential to single-ended conversion<br />

Transmission line characteristics, reflections<br />

Bus termination: Passive, active, dc, ac<br />

4-20 mA current interfaces<br />

RS-XXX buses; IEEE-XXXX buses<br />

Low-level differential signaling<br />

RAMBUS<br />

DDR<br />

5. Circuit Modeling and Simulation<br />

DC analysis<br />

AC analysis<br />

Transient analysis<br />

Simulation control options<br />

Built-in solid-state device models<br />

Device parameter control<br />

Libraries<br />

Mixed-mode simulation<br />

Learning Outcomes<br />

Indicate <strong>the</strong> areas <strong>of</strong> use <strong>of</strong> bipolar logic families; and demonstrate <strong>the</strong> ability to<br />

implement a range <strong>of</strong> logic functions using bipolar logic.<br />

<br />

<br />

<br />

<br />

Incorporate design strategies in power distributions and transmission; and apply<br />

methods to minimize noise and o<strong>the</strong>r signal degradations.<br />

Compare and contrast <strong>the</strong> properties <strong>of</strong> different kinds <strong>of</strong> storage element to<br />

serve different purposes; and select (with reasons) appropriate kinds <strong>of</strong> storage<br />

elements for use in a range <strong>of</strong> possible devices.<br />

Explain <strong>the</strong> practical difficulties resulting from <strong>the</strong> distribution <strong>of</strong> signals; and<br />

explain ways to overcome <strong>the</strong>se difficulties when interfacing different logic<br />

families.<br />

Explain with justification <strong>the</strong> ideal properties <strong>of</strong> operational amplifiers; design<br />

various amplifier structures and filters with ideal op-amps; understand<br />

characteristics <strong>of</strong> non-ideal op-amps; and design simple circuits with <strong>the</strong>m.<br />

Explain with justification <strong>the</strong> benefits and <strong>the</strong> drawbacks associated with <strong>the</strong><br />

simulation <strong>of</strong> circuits; identify aspects <strong>of</strong> circuits that are not readily amenable to<br />

simulation; and simulate a range <strong>of</strong> possible circuits using a suitable s<strong>of</strong>tware<br />

package.<br />

Recommended and Reference Books<br />

Bachelor <strong>of</strong> Science in Computer Engineering 26


Faculty <strong>of</strong> Technology<br />

[1] Agarwal, Anant, and Jeffrey H. Lang. Foundations <strong>of</strong> Analog and Digital<br />

Electronic Circuits. San Mateo, CA: Morgan Kaufmann Publishers, Elsevier,<br />

July 2005. ISBN: 9781558607354.<br />

[2] Earl D. Gates, Introduction to Electronics, 4 th ed., Thomson, 2004<br />

[3] D. C. Green, Electronics 4, 3 rd ed., Longman, 1995<br />

ELE1201: Electricity and Magnetism<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 00 15 60 100 60 40 4<br />

Rationale<br />

Electromagnetic interactions play a central role in determining <strong>the</strong> structure <strong>of</strong> <strong>the</strong><br />

natural world and are <strong>the</strong> foundation <strong>of</strong> most current and emergent technology,<br />

<strong>the</strong>refore a basic understanding <strong>of</strong> electricity and magnetism (E&M) is important. In<br />

E&M <strong>the</strong> student is quickly introduced to a world in which almost all <strong>of</strong> <strong>the</strong> quantities<br />

are invisible; <strong>the</strong>y are ei<strong>the</strong>r microscopic such as electrons or abstractions such as field,<br />

flux, and potential. Integral calculus becomes a central ma<strong>the</strong>matical tool, and students<br />

are asked to apply it in unfamiliar ways, such as calculating <strong>the</strong> path integral or surface<br />

integral <strong>of</strong> a quantity expressed as a vector dot product. It is necessary for students to<br />

think and visualize in three dimensions.<br />

Objectives<br />

This course aims to give <strong>the</strong> fundamentals <strong>of</strong> Electricity and Magnetism by<br />

introducing <strong>the</strong> basic concepts and applications <strong>of</strong> vector calculus.<br />

It aims to attach quantitative meaning to <strong>the</strong> previously qualitatively studied laws<br />

in this topic.<br />

Course Content<br />

1. Vector Algebra<br />

Definitions: Scalars, Vectors, Unit Vector, and Dimensionality<br />

Operations on Vectors: Addition, Subtraction, Multiplication, Dot and Cross<br />

Products<br />

Position and Distance vectors<br />

2. Vector Analysis<br />

Scalar and Vector Fields<br />

Classification <strong>of</strong> vector fields<br />

Scalar and Vector Functions<br />

Directional Derivatives <strong>of</strong> Scalar Functions and Derivatives <strong>of</strong> Vector<br />

Functions<br />

Gradient, Divergence, Curl and Laplacian <strong>of</strong> Vector Functions<br />

Physical Interpretation <strong>of</strong> <strong>the</strong> Divergence and <strong>the</strong> Curl <strong>of</strong> a Vector Field<br />

Green’s <strong>the</strong>orem, Line Integrals Independent <strong>of</strong> Path, Exact Differential<br />

Forms<br />

Differential length, Area and Volume; Line, surface and Volume integrals<br />

Coordinate systems and Transformation: Cartesian; Cylindrical; Spherical<br />

coordinate<br />

3. Electrostatic Fields<br />

Bachelor <strong>of</strong> Science in Computer Engineering 27


Faculty <strong>of</strong> Technology<br />

Coulomb’s Law & Field Intensity<br />

Electric Field due to Continuous Charge Distribution<br />

Electric flux density<br />

Gauss’ Law-Maxwell Equation<br />

Electric potential<br />

Relationship between E and V<br />

Energy stored in Electric field<br />

Learning Outcomes<br />

The course participant is able to attach quantitative meaning to <strong>the</strong> basic laws <strong>of</strong><br />

Electricity and Magnetism, and also able to give daily-life analogies to <strong>the</strong> concepts<br />

studied. The student applies <strong>the</strong> electricity and magnetism laws studied to explain real<br />

situations.<br />

Reference Material<br />

[1] Mat<strong>the</strong>w N.O. Sadiku, Elements <strong>of</strong> Electromagnetics, 3rd ed.,Oxford University<br />

Press, 2001<br />

[2] Sears F., Zemansky M., Young H., Electricity,Magnetism and Optics.<br />

[3] Murray R Spiegel, Theory and Problems <strong>of</strong> Vector Analysis, SI (Metric) ed.,<br />

McGraw Hill<br />

[4] William H. Hayt, Jr., Engineering Electromagnetics, 5th ed., Tata McGraw-Hill,<br />

New Delhi, 1997<br />

CMP1203: Computer Architecture and Organization<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 00 30 60 100 40 100 4<br />

Rationale<br />

Computer architecture is a key component <strong>of</strong> computer engineering and <strong>the</strong> practicing<br />

computer engineer should have a practical understanding <strong>of</strong> this topic. It is concerned<br />

with all aspects <strong>of</strong> <strong>the</strong> design and organization <strong>of</strong> <strong>the</strong> central processing unit and <strong>the</strong><br />

integration <strong>of</strong> <strong>the</strong> CPU into <strong>the</strong> computer system itself.<br />

Objectives<br />

<br />

<br />

<br />

To provide an overview <strong>of</strong> computer architecture and teach students <strong>the</strong><br />

operation <strong>of</strong> a typical computing machine.<br />

To cover basic principles, while acknowledging <strong>the</strong> complexity <strong>of</strong> existing<br />

commercial systems.<br />

To reinforce topics that are common to o<strong>the</strong>r areas <strong>of</strong> computer engineering; for<br />

example, teaching register indirect addressing reinforces <strong>the</strong> concept <strong>of</strong> pointers<br />

in C.<br />

To expose <strong>the</strong> student to how various peripheral devices interact with, and how<br />

<strong>the</strong>y are interfaced to a CPU.<br />

Course Content<br />

1. History and Overview<br />

Bachelor <strong>of</strong> Science in Computer Engineering 28


Faculty <strong>of</strong> Technology<br />

Reasons for study<br />

Influences on Computer Architecture Organization<br />

System organization and architecture, memory, interfacing, microprocessors,<br />

and performance; Differences between computer organization and<br />

architecture; binary arithmetic<br />

Components <strong>of</strong> computer design; CPU organization; Caching;<br />

Multiprocessing strategies<br />

2. Fundamentals <strong>of</strong> computer architecture<br />

Organization <strong>of</strong> <strong>the</strong> von Neumann machine, Instruction formats, The<br />

fetch/execute cycle; instruction decoding and execution , Registers and<br />

register files, Instruction types and addressing modes, Subroutine call and<br />

return mechanisms, Programming in assembly language, I/O techniques and<br />

interrupts<br />

3. Computer Arithmetic<br />

Representation <strong>of</strong> integers (positive and negative numbers), Algorithms for<br />

common arithmetic operations (addition, subtraction, multiplication, division)<br />

Significance <strong>of</strong> range, precision, and accuracy in computer arithmetic,<br />

Representation <strong>of</strong> real numbers (standards for floating-point arithmetic)<br />

Algorithms for carrying out common floating-point operations, Converting<br />

between integer and real numbers , Multi-precision arithmetic<br />

Hardware and s<strong>of</strong>tware implementation <strong>of</strong> arithmetic unit<br />

The generation <strong>of</strong> higher order functions from square roots to transcendental<br />

functions<br />

4. Memory System Organization and Architecture<br />

Memory systems hierarchy, Coding, data compression, and data integrity ,<br />

Electronic, magnetic and optical technologies<br />

Main memory organization and its characteristics and performance, Latency,<br />

cycle time, bandwidth, and interleaving, Cache memories (address mapping,<br />

line size, replacement and write-back policies), Virtual memory systems<br />

Memory technologies such as DRAM, EPROM, and FLASH, Reliability <strong>of</strong><br />

memory systems; error detecting and error correcting systems<br />

5. Interfacing and Communication<br />

I/O fundamentals: handshaking, buffering<br />

I/O techniques: programmed I/O, interrupt-driven I/O, DMA<br />

Interrupt structures: vectored and prioritized, interrupt overhead, interrupts<br />

and reentrant code<br />

Memory system design and interfacing<br />

Buses: bus protocols, local and geographic arbitration<br />

6. Device Subsystems<br />

External storage systems<br />

Organization and structure <strong>of</strong> disk drives and optical memory<br />

Basic I/O controllers such as a keyboard and a mouse, RAID architectures,<br />

Video control, I/O Performance, SMART technology and fault detection<br />

Processor to network interfaces<br />

7. Processor System Design<br />

The CPU interface: clock, control, data and address buses<br />

Address decoding and memory interfacing<br />

Basic parallel and serial interfaces<br />

Bachelor <strong>of</strong> Science in Computer Engineering 29


Faculty <strong>of</strong> Technology<br />

Timers<br />

System firmware<br />

8. Organization <strong>of</strong> <strong>the</strong> CPU<br />

Implementation <strong>of</strong> <strong>the</strong> von Neumann machine<br />

Single vs. multiple bus data paths<br />

Instruction set architecture<br />

Machine architecture as a framework for encapsulating design decisions<br />

Relationship between <strong>the</strong> architecture and <strong>the</strong> compiler<br />

Implementing instructions<br />

Control unit: hardwired realization vs. microprogrammed realization<br />

Arithmetic units, for multiplication and division<br />

Instruction pipelining<br />

Trends in computer architecture: CISC, RISC, VLIW<br />

Introduction to instruction-level parallelism (ILP)<br />

Pipeline hazards: structural, data and control, reducing <strong>the</strong> effects <strong>of</strong> hazards.<br />

9. Performance<br />

Metrics for computer performance; clock rate, MIPS, Cycles per instruction,<br />

benchmarks<br />

Strengths and weaknesses <strong>of</strong> performance metrics<br />

Averaging metrics: arithmetic, geometric and harmonic<br />

The role <strong>of</strong> Amdahl’s law in computer performance<br />

10. Distributed System Models<br />

Classification <strong>of</strong> models: parallel machine models (SIMD, MIMD, SISD,<br />

MISD)<br />

Flynn’s taxonomy, Handler’s classification, message passing , Granularity,<br />

levels <strong>of</strong> parallelism,<br />

Multiprocessors and multi-computers<br />

Topology, tightly coupled and loosely coupled architectures<br />

Processes: threads, clients, servers, code migration, s<strong>of</strong>tware agents,<br />

Physical and logical clocks: clock synchronizing algorithms, Lamport<br />

timestamps, vector timestamps,<br />

Election Algorithms,<br />

Mutual Exclusion algorithms,<br />

Distributed transactions: models, classification, concurrency control<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> student should be able to:<br />

Identify some contributors to computer architecture and organization and relate<br />

<strong>the</strong>ir achievements to <strong>the</strong> knowledge area; explain <strong>the</strong> reasons and strategies for<br />

different architectures; articulate differences between computer organization and<br />

computer architecture; identify some <strong>of</strong> <strong>the</strong> components <strong>of</strong> a computer; indicate<br />

some strengths and weaknesses inherent in different architectures; and describe<br />

how computer engineering uses or benefits from computer architecture and<br />

organization.<br />

Explain <strong>the</strong> organization <strong>of</strong> a von Neumann machine and its major functional<br />

units; explain how a computer fetches from memory and executes an instruction;<br />

articulate <strong>the</strong> strengths and weaknesses <strong>of</strong> <strong>the</strong> von Neumann architecture; explain<br />

<strong>the</strong> relationship between <strong>the</strong> representation <strong>of</strong> machine level operation at <strong>the</strong><br />

binary level and <strong>the</strong>ir representation by a symbolic assembler; explain why a<br />

Bachelor <strong>of</strong> Science in Computer Engineering 30


Faculty <strong>of</strong> Technology<br />

designer adopted a given different instruction formats, such as <strong>the</strong> number <strong>of</strong><br />

addresses per instruction and variable length vs. fixed length formats; write small<br />

programs and fragments <strong>of</strong> assembly language code to demonstrate an<br />

understanding <strong>of</strong> machine level operations; implement some fundamental highlevel<br />

programming constructs at <strong>the</strong> machine-language level; and use computer<br />

simulation packages to investigate assembly language programming<br />

Appreciate how numerical values are represented in digital computers;<br />

understand <strong>the</strong> limitations <strong>of</strong> computer arithmetic and <strong>the</strong> effects <strong>of</strong> errors on<br />

calculations; and appreciate <strong>the</strong> effect <strong>of</strong> a processor’s arithmetic unit on its<br />

overall performance<br />

Identify <strong>the</strong> main types <strong>of</strong> memory technology; explain <strong>the</strong> effect <strong>of</strong> memory<br />

latency and bandwidth on performance; explain <strong>the</strong> use <strong>of</strong> memory hierarchy to<br />

reduce <strong>the</strong> effective memory latency; describe <strong>the</strong> principles <strong>of</strong> memory<br />

management; and understand how errors in memory systems arise and how to<br />

resolve <strong>the</strong>m.<br />

Explain how to use interrupts to implement I/O control and data transfers; write<br />

small interrupt service routines and I/O drivers using assembly language; identify<br />

various types <strong>of</strong> buses in a computer system; describe data access from a<br />

magnetic disk drive; and analyze and implement interfaces.<br />

Compute <strong>the</strong> various parameters <strong>of</strong> performance for standard I/O types; explain<br />

<strong>the</strong> basic nature human computer interaction devices; and describe data access<br />

from magnetic and optical disk drives<br />

Understand how a CPU chip becomes a complete system; design an interface to<br />

memory; understand how to interface and use peripheral chips; write sufficient<br />

EPROM-based system s<strong>of</strong>tware to create a basic stand-alone system; and specify<br />

and design simple computer interfaces.<br />

Understand <strong>the</strong> factors that contribute to computer performance; understand <strong>the</strong><br />

limitations <strong>of</strong> performance metrics; select <strong>the</strong> most appropriate performance<br />

metric when evaluating a computer; and discuss <strong>the</strong> impact on control and<br />

datapath design for performance enhancements.<br />

Explain <strong>the</strong> differences between different paradigms and <strong>the</strong>ir usefulness and<br />

applicability; understand how client server model works in a decentralized<br />

fashion; understand how agents work and how <strong>the</strong>y solve simple tasks;<br />

understand <strong>the</strong> concept <strong>of</strong> logical clocks vs. physical clocks and how <strong>the</strong>y affect<br />

implementation <strong>of</strong> distributed systems and be familiar with simple election and<br />

mutual exclusion algorithms and <strong>the</strong>ir applicability.<br />

Discuss how various architectural enhancements affect system performance;<br />

discuss how to apply parallel processing approaches to design scalar and<br />

superscalar processors; discuss how to apply vector-processing techniques to<br />

enhance instruction sets for multimedia and signal processing; understand how<br />

each <strong>of</strong> <strong>the</strong> functional parts <strong>of</strong> a computer system affects its overall performance;<br />

and estimate <strong>the</strong> effect on system performance <strong>of</strong> changes to functional units.<br />

Recommended and Reference Books<br />

[1] Linda Null and Julia Lubor. The Essentials <strong>of</strong> Computer Organization and<br />

Architecture, Second Edition, Jones & Bartlett. ISBN-10: 0763737690, ISBN-<br />

13: 978-0763737696<br />

[2] Harold Lorin, 1982. Introduction to Computer Architecture and Organization,<br />

Wiley.<br />

ISBN 0471866792, 9780471866794<br />

Bachelor <strong>of</strong> Science in Computer Engineering 31


Faculty <strong>of</strong> Technology<br />

[3] John L. Hennessy, 2002. Computer Architecture: A Quantitative Approach,<br />

3rd Edition, Morgan Kaufmann, ISBN-10 / ASIN: 1558605967, ISBN-13 /<br />

EAN: 9781558605961<br />

[4] William Stallings, 2002. Computer Organization and Architecture, 6th edition,<br />

Prentice Hall. ISBN-10 / ASIN: 0130351199, ISBN-13 / EAN:<br />

9780130351197<br />

[5] Computer Design and Architecture, 3rd Edition Revised and Expanded CRC.<br />

ISBN: 0824703685<br />

[6] Mostafa Abd-El-Barr, 2004. Fundamentals <strong>of</strong> Computer Organization and<br />

Architecture (Wiley Series on Parallel and Distributed Computing), Wiley-<br />

Interscience, ISBN-10 / ASIN: 0471467413, ISBN-13 / EAN:<br />

9780471467410<br />

[7] Douglas E. Comer, 2004. Essentials <strong>of</strong> Computer Architecture, US edition,<br />

Prentice Hall<br />

ISBN-10: 0131491792, ISBN-13: 978-0131491793<br />

TEC1301: Workshop Practice (Core)<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

00 300 00 30 100 0 100 2<br />

Rationale<br />

This course is designed to give <strong>the</strong> student practical exposure to setting up and<br />

repairing <strong>the</strong> hardware <strong>of</strong> a computer. The student is also introduced to practical work<br />

done outside Computer Engineering in preparation for multidisciplinary work.<br />

Objectives<br />

The course aims to:<br />

Provide <strong>the</strong> student with basic vocational skills.<br />

Enable <strong>the</strong> student to appreciate <strong>the</strong> work <strong>of</strong> technicians hence prepare him or<br />

her for managerial positions.<br />

Develop student’s technical reporting and writing on practical work.<br />

Course Content<br />

1. The Computer Workshop<br />

PC assembly<br />

PC cleaning (blowing)<br />

Computer repairs and upgrade<br />

Hardware troubleshooting<br />

Installation <strong>of</strong> mo<strong>the</strong>rboard, sound card, video card, DVD burner, modem,<br />

wireless network card, disk drives<br />

Installation and troubleshooting <strong>of</strong> printers, scanners, digital cameras<br />

Operating system installation<br />

BIOS configuration<br />

Network cable termination<br />

Data backup and recovery<br />

2. Manual Practice<br />

Introduction to tools<br />

Marking <strong>of</strong>f<br />

Measurement<br />

Fitting<br />

Bachelor <strong>of</strong> Science in Computer Engineering 32


Faculty <strong>of</strong> Technology<br />

3. Machine Shop Processes<br />

Turning<br />

Milling<br />

Grinding<br />

Drilling<br />

4. Fabrication Practice<br />

Joining processes (screw fastening, riveting, welding, adhesive bonding)<br />

Fabrication <strong>of</strong> items<br />

5. Electrical House Wiring<br />

Regulations<br />

Consumer circuits and wiring accessories<br />

Diagnosis and Repair <strong>of</strong> Electric appliances<br />

6. Repair <strong>of</strong> Electronic Equipment<br />

Radios<br />

TVs<br />

7. Building Construction<br />

Brickwork<br />

Concrete work<br />

Trusses and Plumbing<br />

8. Building Finishing Processes<br />

painting,<br />

varnishing and<br />

decorating<br />

TEC2101: Sociology for Technology<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 00 00 45 100 60 40 3<br />

Objective<br />

The objective <strong>of</strong> <strong>the</strong> course is to educate <strong>the</strong> engineer-to-be <strong>of</strong> <strong>the</strong> role that society<br />

plays in ensuring steady development such that one can be able to cope with <strong>the</strong> social<br />

dynamics in order to deliver projects effectively.<br />

Course Content<br />

1. Social structures<br />

Individual, family, and community<br />

Family kinship and neighbourhood structure, status and class<br />

Manifest and latent <strong>of</strong> institutions and groups; social norms, conflict and<br />

control<br />

Dynamics <strong>of</strong> social change with specific reference to E. Africa/Uganda<br />

Reflections <strong>of</strong> <strong>the</strong>se issues in dwelling, community and development<br />

Introduction to Urban Sociology in developing countries like Uganda<br />

2. Industrialisation and its impact on society<br />

Assessment <strong>of</strong> impacts <strong>of</strong> appropriate technology, intermediate technology<br />

and high-technology on <strong>the</strong> development <strong>of</strong> society.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 33


Faculty <strong>of</strong> Technology<br />

Effects <strong>of</strong> industrialization on <strong>the</strong> environment; Impact <strong>of</strong> land tenure system<br />

on industrial development<br />

EMT2101: Engineering Ma<strong>the</strong>matics III<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 00 30 60 100 40 100 4<br />

Rationale<br />

Drawing from <strong>the</strong> concepts covered in Engineering Ma<strong>the</strong>matics I and II, this course is<br />

designed to consolidate and advance analytical techniques for solution <strong>of</strong> ordinary<br />

differential equations; and introduces concepts fundamental to <strong>the</strong> study <strong>of</strong> o<strong>the</strong>r<br />

courses in Computer Engineering. The major <strong>the</strong>mes covered include integral<br />

transforms, series solutions to ordinary differential equations and special functions.<br />

Objectives<br />

<br />

<br />

<br />

Introduce <strong>the</strong> student to Integral Transforms and <strong>the</strong>ir application to <strong>the</strong><br />

solution <strong>of</strong> Ordinary Differential Equations<br />

Introduce <strong>the</strong> Power Series solution technique to Ordinary Differential Equations<br />

Expose <strong>the</strong> student to some special functions fundamental to engineering<br />

specifically Gamma, Beta, Bessel and Legendre<br />

Course Content<br />

1. Fourier Integrals and Transformations<br />

Motivation for <strong>the</strong> Fourier Integral<br />

Definition <strong>of</strong> Fourier Integral as a limit to <strong>the</strong> Fourier Series with period<br />

tending to infinity<br />

Conditions for existence <strong>of</strong> a Fourier Integral representation (Dirichlet’s<br />

conditions, Existence <strong>of</strong> <strong>the</strong> absolute integral for <strong>the</strong> entire real axis)<br />

Complex exponential Fourier Integral representation, Standard Fourier<br />

Integral representation, Fourier Cosine and Sine Integral representations<br />

Definition <strong>of</strong> <strong>the</strong> Fourier Transform and its Inverse<br />

Frequency spectrum <strong>of</strong> periodic and continuous functions<br />

Distinction between <strong>the</strong> Fourier Transform and Integral<br />

Properties <strong>of</strong> <strong>the</strong> Fourier Transform Transform: Linearity, First Shift<br />

Theorem, Second Shift Theorem, t- duality, Time differentiation,<br />

Frequency Differentiation, Convolution, Correlation<br />

Fourier Transform <strong>of</strong> special functions: Delta function (Sifting property),<br />

Heaviside Step function,<br />

Applications: Parseval’s <strong>the</strong>orem, RCL circuits, Frequency shifting in<br />

Communication <strong>the</strong>ory (carrier signals and Antenna design)<br />

Solution <strong>of</strong> Ordinary Differential Equations with constant coefficients<br />

2. Laplace Transformations<br />

Motivation for <strong>the</strong> Laplace transform<br />

Definition <strong>of</strong> <strong>the</strong> Laplace transform<br />

Comparison <strong>of</strong> <strong>the</strong> Laplace and Fourier Transforms<br />

Conditions for existence <strong>of</strong> <strong>the</strong> Laplace transform (Dirichlet’s conditions,<br />

Piecewise continuity <strong>of</strong> <strong>the</strong>e function)<br />

Bachelor <strong>of</strong> Science in Computer Engineering 34


Faculty <strong>of</strong> Technology<br />

Properties <strong>of</strong> Laplace Transforms: Linearity, First Shift Theorem, Second<br />

Shift Theorem, Time differentiation, s-domain Differentiation, s-domain<br />

Integration<br />

Laplace Transforms <strong>of</strong> special functions: Delta function and Heaviside<br />

function<br />

Solutions <strong>of</strong> Ordinary Differential Equations by Laplace Transform<br />

Techniques<br />

Solutions <strong>of</strong> Simultaneous Linear Ordinary Differential Equations with<br />

constant coefficients<br />

Applications in RLC Circuit Analysis<br />

3. Power Series Solutions to Ordinary Differential Equations<br />

Motivation <strong>of</strong> <strong>the</strong> Power Series solution method<br />

Concept <strong>of</strong> <strong>the</strong> Power Series method (Ordinary points, Singular points)<br />

Series solutions about Ordinary points<br />

Series solutions about Regular Singular points (Method <strong>of</strong> Frobenius)<br />

4. Gamma and Beta Functions<br />

Integral Definition <strong>of</strong> Gamma and Beta Functions<br />

Properties <strong>of</strong> Gamma and Beta Functions<br />

Generalisation <strong>of</strong> <strong>the</strong> factorial by Means <strong>of</strong> <strong>the</strong> Gamma function<br />

Relations Between Gamma and Beta Functions<br />

Definition <strong>of</strong> Gamma Function for Negative Values <strong>of</strong> Argument<br />

5. Bessel Functions<br />

Bessel’s Equation and its Solutions.<br />

Familiarisation with Characteristics and Graphs <strong>of</strong> Bessel Functions<br />

Properties <strong>of</strong> Bessel Functions <strong>of</strong> <strong>the</strong> First Kind: Differentiation, Recurrence<br />

relationships, Generating functions<br />

Ordinary Differential Equations solvable using <strong>the</strong> notion <strong>of</strong> Bessel’s<br />

equations<br />

Integral Representations <strong>of</strong> Bessel Functions<br />

Integrals Involving Bessel Functions<br />

Laplace Transforms <strong>of</strong> Bessel functions<br />

6. Legendre Functions<br />

Legendre’s Equation and its Solutions<br />

Legendre’s Polynomials; <strong>the</strong> Generating Function for Legendre’s<br />

Polynomials; Orthogonality <strong>of</strong> Legendre’s Polynomials<br />

Rodriguez’s formula<br />

Orthogonality Relations for <strong>the</strong> Associated Legendre Functions,<br />

Familiarisation with Characteristics and Graphs <strong>of</strong> Legendre’s Polynomials<br />

and Associated Legendre Functions<br />

Integrals involving Legendre Polynomials<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> student should be able to:<br />

Demonstrate a firm understanding <strong>of</strong> <strong>the</strong> solution techniques for Linear Ordinary<br />

Differential Equations, Properties <strong>of</strong> Integral Transforms and Special functions<br />

Use <strong>the</strong> Integral Transforms in Circuit Analysis<br />

References<br />

[1] C. Ray Wylie and Louis C. Barrett, Advanced Engineering Ma<strong>the</strong>matics, 6th<br />

ed., McGraw Hill, New York, 1995.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 35


Faculty <strong>of</strong> Technology<br />

[2] Erwin Kreyszig, Advanced Engineering Ma<strong>the</strong>matics, 8th ed., John Wiley and<br />

Sons.<br />

[3] Murray R. Spiegel, 1981. Applied Differential Equations. 3rd Edition.<br />

Prentice-Hall, Inc., Englewood Cliffs, N.J. 07632<br />

[4] Mary L. Boas, 1983. Ma<strong>the</strong>matical Methods in <strong>the</strong> Physical Sciences. 2nd<br />

Edition. John Wiley & Sons, INC. New York<br />

[5] Thomas M. Creese and Robert M. Haralick, 1978. Differential Equations for<br />

Engineers. McGraw-Hill, N. Y. US<br />

[6] L. R. Mustoe, 1988. Worked Examples in Advanced Engineering<br />

Ma<strong>the</strong>matics. John Wiley & Sons Ltd. Great Britain<br />

CMP2101: S<strong>of</strong>tware Engineering<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 00 30 60 100 40 100 4<br />

Rationale<br />

S<strong>of</strong>tware engineering is <strong>the</strong> discipline concerned with <strong>the</strong> application <strong>of</strong> <strong>the</strong>ory,<br />

knowledge, and practice to build effectively and efficiently s<strong>of</strong>tware systems that<br />

satisfy <strong>the</strong> requirements <strong>of</strong> users and customers. S<strong>of</strong>tware engineering is applicable to<br />

small, medium, and large-scale systems. It encompasses all phases <strong>of</strong> <strong>the</strong> life cycle <strong>of</strong> a<br />

s<strong>of</strong>tware system. The life cycle includes requirement analysis and specification, design,<br />

construction, testing, and operation and maintenance. The development <strong>of</strong> programs<br />

benefits from <strong>the</strong> concepts and practices derived from s<strong>of</strong>tware engineering.<br />

S<strong>of</strong>tware engineering employs engineering methods, processes, techniques, and<br />

measurement. It benefits from <strong>the</strong> use <strong>of</strong> tools for managing s<strong>of</strong>tware development;<br />

analyzing and modeling s<strong>of</strong>tware artifacts; assessing and controlling quality; and for<br />

ensuring a disciplined, controlled approach to s<strong>of</strong>tware evolution and reuse. S<strong>of</strong>tware<br />

development, which can involve an individual developer or a team <strong>of</strong> developers,<br />

requires choosing <strong>the</strong> tools, methods, and approaches that are most applicable for a<br />

given development environment.<br />

Objectives<br />

<br />

<br />

To introduce <strong>the</strong> student to <strong>the</strong> evolution and scope <strong>of</strong> S<strong>of</strong>tware Engineering as<br />

a discipline and as a Pr<strong>of</strong>ession<br />

To expose <strong>the</strong> student to <strong>the</strong> practical imperatives underpinning s<strong>of</strong>tware<br />

development – requirements analysis, design, implementation, testing,<br />

deployment, user training and support, and maintenance<br />

Course Content<br />

1. History and Overview<br />

Indicate some reasons for studying s<strong>of</strong>tware engineering<br />

Highlight some people that influenced or contributed to <strong>the</strong> area <strong>of</strong> s<strong>of</strong>tware<br />

engineering<br />

Indicate some important topic areas such as <strong>the</strong> s<strong>of</strong>tware process,<br />

requirements, specifications, design, testing, validation, evolution, and project<br />

management<br />

Contrast s<strong>of</strong>tware engineering with computer engineering<br />

Mention some examples that would use <strong>the</strong> s<strong>of</strong>tware engineering approach<br />

Bachelor <strong>of</strong> Science in Computer Engineering 36


Faculty <strong>of</strong> Technology<br />

Indicate <strong>the</strong> existence <strong>of</strong> formalized s<strong>of</strong>tware processes such as <strong>the</strong> s<strong>of</strong>tware<br />

life cycle<br />

Explain that requirements and specifications may change slightly as a s<strong>of</strong>tware<br />

project evolves<br />

Indicate <strong>the</strong> importance <strong>of</strong> language selection when doing s<strong>of</strong>tware design<br />

Highlight <strong>the</strong> importance <strong>of</strong> testing and validation in a s<strong>of</strong>tware projects<br />

Explore some additional resources associated with s<strong>of</strong>tware engineering<br />

Explain <strong>the</strong> purpose and role <strong>of</strong> s<strong>of</strong>tware engineering in computer engineering<br />

2. S<strong>of</strong>tware Processes<br />

S<strong>of</strong>tware life cycle and process models (Waterfalls, Spiral, Extreme<br />

programming, Agile, RAD, RUP)<br />

Process assessment models<br />

S<strong>of</strong>tware process metrics<br />

3. S<strong>of</strong>tware Requirements and Specifications<br />

Requirements elicitation<br />

Requirements analysis modeling techniques<br />

Functional and nonfunctional requirements<br />

Prototyping<br />

Basic concepts <strong>of</strong> formal specification techniques<br />

S<strong>of</strong>tware Requirements Specification<br />

4. S<strong>of</strong>tware Design<br />

Fundamental design concepts and principles<br />

S<strong>of</strong>tware architecture (S<strong>of</strong>tware quality attributes – Runtime, Business, and<br />

Engineering; Architectural views and viewpoints; The technical architecting<br />

process; Organisational architecting; Architectural styles)<br />

Modeling with UML<br />

Structured design<br />

Object-oriented analysis and design<br />

Domain-driven development<br />

Design for reuse<br />

5. S<strong>of</strong>tware Verification and Validation<br />

Verification (Static and Dynamic)<br />

Validation planning<br />

Testing fundamentals, including test plan creation and test case generation<br />

Black-box and white-box testing techniques<br />

Unit, integration, validation, and system testing<br />

Object-oriented testing<br />

Inspections<br />

6. S<strong>of</strong>tware Evolution<br />

S<strong>of</strong>tware maintenance: <strong>the</strong> different forms <strong>of</strong> maintenance; <strong>the</strong> associated<br />

disciples and <strong>the</strong> role and <strong>the</strong> nature <strong>of</strong> configuration management and version<br />

control<br />

Impact analysis<br />

Regression testing<br />

Associated s<strong>of</strong>tware support<br />

Characteristics <strong>of</strong> maintainable s<strong>of</strong>tware<br />

S<strong>of</strong>tware re-use in its different forms – <strong>the</strong>ir strengths and weaknesses<br />

Bachelor <strong>of</strong> Science in Computer Engineering 37


Faculty <strong>of</strong> Technology<br />

Reengineering<br />

Legacy systems<br />

S<strong>of</strong>tware retirement<br />

7. S<strong>of</strong>tware Tools and Environments<br />

Programming environments<br />

Requirements analysis and design modeling tools<br />

Testing tools<br />

Configuration management tools<br />

Tools based on databases – <strong>the</strong>ir design and development<br />

Additional possibilities including CASE tools<br />

Tool integration mechanisms<br />

8. Language Translation<br />

The range <strong>of</strong> tools that support s<strong>of</strong>tware development for <strong>the</strong> computer<br />

engineer; <strong>the</strong> role <strong>of</strong> a formal semantics <strong>of</strong> a language<br />

Different possibilities regarding language translation: comparison <strong>of</strong><br />

interpreters and compilers for high-level languages, and silicon compilers for<br />

hardware description languages, additional possibilities<br />

Language translation phases (lexical analysis, parsing, generation phase,<br />

optimization); separate compilation or translation - <strong>the</strong> benefits and <strong>the</strong><br />

mechanisms; machine-dependent and machine-independent aspects <strong>of</strong><br />

translation<br />

9. S<strong>of</strong>tware Project Management<br />

Team management: team processes; team organization and decision-making,<br />

roles and responsibilities in a s<strong>of</strong>tware team; role identification and<br />

assignment; project tracking; team problem resolution<br />

Project scheduling<br />

S<strong>of</strong>tware measurement and estimation techniques<br />

Risk analysis<br />

S<strong>of</strong>tware quality assurance<br />

S<strong>of</strong>tware configuration management<br />

Project management tools<br />

S<strong>of</strong>tware project documentation<br />

10. S<strong>of</strong>tware Fault Tolerance<br />

S<strong>of</strong>tware reliability models<br />

S<strong>of</strong>tware fault-tolerance methods: N-version programming, recovery blocks,<br />

rollback and recovery<br />

Fault tolerance in operating systems and data structures<br />

Fault tolerance in database and distributed systems<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> student will be able to:<br />

Select, with justification, <strong>the</strong> s<strong>of</strong>tware development models most appropriate for<br />

<strong>the</strong> development and maintenance <strong>of</strong> diverse s<strong>of</strong>tware products; and explain <strong>the</strong><br />

role <strong>of</strong> process maturity models.<br />

Apply key elements and common methods for elicitation and analysis to produce<br />

a set <strong>of</strong> s<strong>of</strong>tware requirements for a medium-sized s<strong>of</strong>tware system; use a<br />

common, non-formal method to model and specify (in <strong>the</strong> form <strong>of</strong> a requirements<br />

specification document) <strong>the</strong> requirements for a medium-size s<strong>of</strong>tware system<br />

(e.g., structured analysis or object-oriented-analysis); conduct a review <strong>of</strong> a<br />

Bachelor <strong>of</strong> Science in Computer Engineering 38


Faculty <strong>of</strong> Technology<br />

s<strong>of</strong>tware requirements document using best practices to determine <strong>the</strong> quality <strong>of</strong><br />

<strong>the</strong> document; and translate into natural language a s<strong>of</strong>tware requirements<br />

specification written in a commonly used formal specification language.<br />

Evaluate <strong>the</strong> quality <strong>of</strong> multiple s<strong>of</strong>tware designs based on key design principles<br />

and concepts; using a s<strong>of</strong>tware requirement specification and a common program<br />

design methodology and notation, create and specify <strong>the</strong> s<strong>of</strong>tware design for a<br />

medium-size s<strong>of</strong>tware product (e.g., using structured design or object-oriented<br />

design); and using appropriate guidelines, conduct <strong>the</strong> review <strong>of</strong> a s<strong>of</strong>tware<br />

design.<br />

Demonstrate <strong>the</strong> application <strong>of</strong> <strong>the</strong> different types and levels <strong>of</strong> testing (unit,<br />

integration, systems, and acceptance) to s<strong>of</strong>tware products <strong>of</strong> medium size;<br />

undertake, as part <strong>of</strong> a team activity, an inspection <strong>of</strong> a medium-size code<br />

segment; and describe <strong>the</strong> role that tools can play in <strong>the</strong> validation <strong>of</strong> s<strong>of</strong>tware.<br />

Identify <strong>the</strong> principal issues associated with s<strong>of</strong>tware evolution and explain <strong>the</strong>ir<br />

impact on <strong>the</strong> s<strong>of</strong>tware life cycle; develop a plan for re-engineering a mediumsized<br />

product in response to a change request; discuss <strong>the</strong> advantages and<br />

disadvantages <strong>of</strong> s<strong>of</strong>tware reuse; and demonstrate <strong>the</strong> ability to exploit<br />

opportunities for s<strong>of</strong>tware reuse in a variety <strong>of</strong> contexts.<br />

Select, with justification, an appropriate set <strong>of</strong> tools to support <strong>the</strong> s<strong>of</strong>tware<br />

development <strong>of</strong> a range <strong>of</strong> s<strong>of</strong>tware products; analyze and evaluate a set <strong>of</strong> tools<br />

in a given area <strong>of</strong> s<strong>of</strong>tware development (e.g., management, modeling, or<br />

testing); and demonstrate <strong>the</strong> capability to use a range <strong>of</strong> s<strong>of</strong>tware tools in<br />

support <strong>of</strong> <strong>the</strong> development <strong>of</strong> a s<strong>of</strong>tware product <strong>of</strong> medium size.<br />

Compare and contrast compiled and interpreted execution models, outlining <strong>the</strong><br />

relative merits <strong>of</strong> each; describe <strong>the</strong> phases <strong>of</strong> program translation from source<br />

code to executable code and <strong>the</strong> files produced by <strong>the</strong>se phases; explain <strong>the</strong><br />

differences between machine-dependent and machine-independent translation;<br />

and show <strong>the</strong> manner in which <strong>the</strong>se differences are evident in <strong>the</strong> translation<br />

process.<br />

Demonstrate through involvement in a team project <strong>the</strong> central elements <strong>of</strong> team<br />

building and team management; prepare a project plan for a s<strong>of</strong>tware project that<br />

includes estimates <strong>of</strong> size and effort, a schedule, resource allocation,<br />

configuration control, change management, and project risk identification and<br />

management; and compare and contrast <strong>the</strong> different methods and techniques<br />

used to assure <strong>the</strong> quality <strong>of</strong> a s<strong>of</strong>tware product.<br />

Understand <strong>the</strong> concept <strong>of</strong> s<strong>of</strong>tware faults and reliability <strong>of</strong> s<strong>of</strong>tware; understand<br />

various redundancy methods used to allow s<strong>of</strong>tware to detect s<strong>of</strong>tware faults and<br />

produce correct results in <strong>the</strong> presence <strong>of</strong> s<strong>of</strong>tware faults; and understand<br />

s<strong>of</strong>tware fault tolerance approaches used in operating systems, database systems,<br />

and distributed systems.<br />

Recommended and Reference Books<br />

[1] Roger S. Pressman. S<strong>of</strong>tware Engineering: A Practitioner’s Approach,<br />

McGraw-Hill, 2004 ISBN 007301933X, 97800783019338<br />

[2] Ian Sommerville. S<strong>of</strong>tware Engineering, Pearson/Addison-Wesley, 2004. ISBN<br />

0321210263, 9780321210265<br />

[3] IEEE Std 1471-2000, IEEE Recommended Practice for Architectural<br />

Description <strong>of</strong> S<strong>of</strong>tware-Intensive Systems<br />

[4] IEEE Std 830-1998, IEEE Recommended Practice for S<strong>of</strong>tware Requirements<br />

Specifications (Revision <strong>of</strong> IEEE Std 830-1993)<br />

Bachelor <strong>of</strong> Science in Computer Engineering 39


Faculty <strong>of</strong> Technology<br />

[5] Len Bass, Paul Clements, Rick Kazman, April 11, 2003. S<strong>of</strong>tware Architecture<br />

in Practice, Second Edition. Addison Wesley. ISBN: 0-321-15495-9<br />

[6] Jeff Garland &Richard Anthony, Large Scale S<strong>of</strong>tware Architecture, John<br />

Wiley and Sons, ISBN 0 470 84849 9<br />

[7] Stephen T. Albin, 2003. The Art <strong>of</strong> S<strong>of</strong>tware Architecture: Design Methods<br />

and Techniques, John Wiley & Sons, ISBN:0471228869<br />

[8] Bennett, S, 2005. Object-Oriented Systems Analysis and Design Using<br />

UML, 3rd Edition, McGraw-Hill, ISBN: 0077110005 , ISBN 13:<br />

9780077110000<br />

[9] Donald Yates and Tony Wakefield, 2004. Systems Analysis and Design,<br />

Second Edition, Prentice Hall, Pearson Education Limited. ISBN 0273 65536 1<br />

[10] IEEE Std 730 – 2002. IEEE Standard for S<strong>of</strong>tware Assurance Plans<br />

[11] IEEE Std 829- 1998. IEEE Standard for S<strong>of</strong>tware Test Documentation<br />

CMP2102: Electric Circuits and Signals<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 40 100 4<br />

Rationale<br />

Circuits and signals are foundational material for computer engineering. These areas<br />

provide <strong>the</strong> basic knowledge for <strong>the</strong> design <strong>of</strong> <strong>the</strong> circuits used to implement<br />

computers. Knowledge <strong>of</strong> <strong>the</strong> electrical circuits used to implement digital circuits and<br />

computers is crucial to <strong>the</strong> computer engineer.<br />

Objective<br />

The course aims to provide <strong>the</strong> student with:<br />

An introduction <strong>of</strong> circuit analysis concepts and <strong>the</strong>orems used in DC and AC<br />

analysis, alongside laboratory work in order to enable one appreciate <strong>the</strong><br />

practicality <strong>of</strong> <strong>the</strong>oretical aspects.<br />

Skills for <strong>the</strong> analysis <strong>of</strong> electrical circuits <strong>of</strong> continuous current. Different<br />

methods and techniques for <strong>the</strong> analysis and simplification <strong>of</strong> electric circuits are<br />

studied in detail, making <strong>the</strong> student able to identify <strong>the</strong> most adequate technique<br />

in each case. Circuits are analyzed and simulated using PSPICE and <strong>the</strong>n<br />

constructed in laboratory to compare calculated and measured results.<br />

<br />

The ability to formulate and solve <strong>the</strong> differential equations describing time<br />

behavior <strong>of</strong> circuits containing energy storage elements.<br />

The capability to design and construct circuits, take measurements <strong>of</strong> circuit<br />

behavior and performance, compare with predicted circuit models and explain<br />

discrepancies.<br />

Course Content<br />

1. History and Overview<br />

Indicate some reasons for studying circuits and systems<br />

Highlight some people that influenced or contributed to <strong>the</strong> area <strong>of</strong> circuits<br />

and systems<br />

Bachelor <strong>of</strong> Science in Computer Engineering 40


Faculty <strong>of</strong> Technology<br />

Indicate some important topic areas such as electrical quantities, resistance,<br />

reactance, frequency response, sinusoids, convolution, discrete-time signals,<br />

Fourier representation, filters, and transforms<br />

Contrast between current and voltage<br />

Describe Ohm’s Law<br />

Explain reactive elements such as inductance and capacitance<br />

Indicate that frequency affects reactive elements, but not resistance elements ;<br />

Mention phase and <strong>the</strong> meaning <strong>of</strong> being “out <strong>of</strong> phase ”<br />

Distinguish how signal sampling can produce aliasing and quantizing<br />

Illustrate <strong>the</strong> design <strong>of</strong> a “square wave” from a trigonometric Fourier series<br />

Explore some additional resources associated with circuits and systems<br />

Explain <strong>the</strong> purpose and role <strong>of</strong> circuits and systems in computer engineering<br />

2. Electrical Quantities<br />

Charge<br />

Current<br />

Voltage<br />

Energy<br />

Power<br />

3. Resistive Circuits and Networks<br />

Ohm’s Law<br />

Kirch<strong>of</strong>f’s laws<br />

Independent and dependent sources<br />

Series and parallel elements<br />

Voltage and Current measurement<br />

Mesh and Nodal analysis<br />

Superposition<br />

Thevenin’s and Norton’s <strong>the</strong>orems<br />

Maximum power transfer<br />

4. Reactive Circuits and Networks<br />

Inductance<br />

Capacitance<br />

Mutual inductance<br />

Time constants for RL and RC circuits<br />

Transient response <strong>of</strong> RL, RC, and RLC circuits<br />

Damping<br />

Transformers<br />

5. Frequency Response<br />

Response <strong>of</strong> RL, RC, and RLC circuits<br />

Transfer functions<br />

Two-port circuits<br />

Parallel and series resonance.<br />

6. Sinusoidal Analysis<br />

Phasor representation <strong>of</strong> voltage and current<br />

Forced response to sinusoidal functions<br />

Impedance and Admittance<br />

Nodal and Mesh analysis<br />

Thevenin’s and Norton’s <strong>the</strong>orems<br />

Bachelor <strong>of</strong> Science in Computer Engineering 41


Faculty <strong>of</strong> Technology<br />

Phasor diagrams<br />

Superposition<br />

Source transformations<br />

7. Convolution<br />

Impulse response<br />

Convolution integral<br />

Physically realizable systems<br />

Graphical methods<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> students will:<br />

<br />

Appreciate new concepts in AC and DC Circuit analysis and on completion <strong>of</strong><br />

this course unit a student will be firmly convinced that <strong>the</strong> <strong>the</strong>orems and<br />

concepts hold practically;<br />

<br />

Become adept at using various methods <strong>of</strong> circuit analysis, including simplified<br />

methods such as series-parallel reductions, voltage and current dividers, and <strong>the</strong><br />

node method;<br />

<br />

Appreciate <strong>the</strong> consequences <strong>of</strong> linearity, in particular <strong>the</strong> principle <strong>of</strong><br />

superposition and Thevenin-Norton equivalent circuits.<br />

Recommended and Reference Books<br />

[1] Dorf and Svoboda, Electrical circuits: Introduction<br />

[2] D. R. Cunningham and S. A. Stuller, Basic Circuit Analysis, Jaico, 2005<br />

[3] W. H. Hayt, J. E. Kemmerly and S. M. Durbin, Engineering Circuit Analysis,<br />

6 th ed., Tata McGraw-Hill, New Delhi, 2006<br />

CMP2103: Objected Oriented Programming<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WE WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

In <strong>the</strong> object-oriented view <strong>of</strong> s<strong>of</strong>tware, programs are considered to be collections <strong>of</strong><br />

objects that interact by sending messages to one ano<strong>the</strong>r and reacting to <strong>the</strong> answers to<br />

those messages. These ideas are at <strong>the</strong> forefront <strong>of</strong> modern s<strong>of</strong>tware development. This<br />

course is designed to teach <strong>the</strong> fundamental ideas behind <strong>the</strong> object-oriented approach<br />

to programming; through <strong>the</strong> widely used Java programming language. The course<br />

concentrates on those aspects <strong>of</strong> <strong>the</strong> Java language that best demonstrate objectoriented<br />

principles and good practice. CMP2104 will give <strong>the</strong> student a solid basis for<br />

fur<strong>the</strong>r study <strong>of</strong> <strong>the</strong> Java language and object-oriented s<strong>of</strong>tware development.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 42


Faculty <strong>of</strong> Technology<br />

Objectives<br />

To build <strong>the</strong> students' skills geared towards pr<strong>of</strong>essional Object Design and<br />

Programming with Java<br />

To introduce <strong>the</strong> students to how Object-Orientation works and how to best apply it in<br />

Java<br />

To develop <strong>the</strong> students' mastery in <strong>the</strong> areas <strong>of</strong> Inheritance, Encapsulation, Abstraction<br />

& Polymorphism in Java<br />

To provide students with extensive hands-on experience with Java programming<br />

To impart Exception Handling techniques mechanism<br />

To familiarize <strong>the</strong> students with <strong>the</strong> methods for manipulation <strong>of</strong> Java Object Collections<br />

Course Content<br />

3. History and Overview <strong>of</strong> Objected-Oriented-Programming<br />

Definition, Concept <strong>of</strong> Object-Orientedness<br />

History and Evolution <strong>of</strong> Objected-Oriented-Programming<br />

Object-Oriented-Programming Languages(Classification, Examples)<br />

Key Principles <strong>of</strong> an Object-Oriented-Programming Language<br />

Comparative Analysis <strong>of</strong> popular Object-Oriented-Programming Languages<br />

(Java, C++ and C#)<br />

4. Platforms for Object-Oriented-Programming<br />

The concept <strong>of</strong> a Computing Platform<br />

Java Platforms (Smart Card Edition, Standard Edition, Micro-Edition,<br />

Enterprise Edition)<br />

Open Source Platforms (PHP, Python)<br />

.NET Platform<br />

5. Fundamental Programming Structures in Java<br />

Primitive Data Types<br />

Variables<br />

Constants<br />

Assignments<br />

Initializations<br />

Operators<br />

Strings<br />

Control Flow<br />

6. Classes and Objects in Java<br />

Classes & Objects<br />

Object Oriented Programming Principles(Instantiation, Encapsulation,<br />

Specialization)<br />

Instance Variables<br />

Class Variables<br />

Constructors<br />

Instance Methods<br />

Class Methods<br />

Method Overloading<br />

The this keyword<br />

Passing and returning objects<br />

Garbage Collection in Java<br />

7. Object Design and Programming with Java<br />

Abstraction<br />

Bachelor <strong>of</strong> Science in Computer Engineering 43


Faculty <strong>of</strong> Technology<br />

Inheritance<br />

Polymorphism<br />

Method Overriding<br />

Associations<br />

Delegation<br />

8. Java Interfaces<br />

Creating high levels <strong>of</strong> abstraction<br />

Purpose <strong>of</strong> Interfaces<br />

When to use <strong>the</strong>m<br />

Interface Declaration<br />

Implementing an Interface<br />

Interface Inheritance<br />

9. Java Exception Handling<br />

Why Exceptions<br />

Standard Exception Handling Options<br />

Exception Class Hierarchy<br />

Checked vs. Unchecked Exceptions<br />

Catching an Exception: try and catch blocks<br />

Methods Which Throw Exceptions: <strong>the</strong> throws clause<br />

Handling vs. Declaring Exceptions<br />

System Exceptions vs. Application Exceptions<br />

Writing Custom Exceptions<br />

10. Java Collections API<br />

Arrays<br />

The Java Collections Framework<br />

Collections Interfaces<br />

Concrete Collections<br />

Iterating through Collections<br />

11. Java Input/Output API<br />

Streams & Files<br />

Input & Output Streams<br />

File Streams<br />

Object Streams<br />

Object Serialization<br />

Readers & Writers<br />

Learning Outcomes<br />

Knowledge and Understanding Upon successful completion <strong>of</strong> <strong>the</strong> module, a<br />

student will: Understand basic principles <strong>of</strong> object-oriented program design.<br />

Understand <strong>the</strong> basic and some advanced issues related to writing classes and<br />

methods - such as data, visibility, scope, method parameters, object references,<br />

and nested classes. Understand <strong>the</strong> basic ideas behind class hierarchies,<br />

polymorphism, and programming to interfaces. Get exposure to exceptions and<br />

basic I/O streams. Understand basic principles, main features and operations <strong>of</strong><br />

abstract data types, in particular <strong>of</strong> lists, stacks, queues, trees, heaps, hash tables<br />

and graphs. Differentiate specifications <strong>of</strong> abstract data types from particular<br />

implementation techniques. Learn about fundamental algorithms associated with<br />

<strong>the</strong> above data types, including tree traversal, treesort, heapsort and graph<br />

traversal algorithms.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 44


Faculty <strong>of</strong> Technology<br />

Intellectual and Practical skills Upon successful completion <strong>of</strong> <strong>the</strong> module, a<br />

student will: Be able to solve a given application problem by going through <strong>the</strong><br />

basic steps <strong>of</strong> program specifications, analysis, design, implementation and<br />

testing --- within <strong>the</strong> context <strong>of</strong> <strong>the</strong> object-oriented paradigm. Be able to<br />

competently read 'foreign' Java source code and object diagrams. Have<br />

developed solid Java programming skills and <strong>the</strong> ability to put in practice <strong>the</strong><br />

acquired knowledge and understanding <strong>of</strong> <strong>the</strong> Java language and object-oriented<br />

design in relatively simple case studies. Be able to develop Java implementations<br />

<strong>of</strong> abstract data types using different approaches, and evaluate <strong>the</strong>ir differences.<br />

Be able to use abstract data types and related implementations in designing and<br />

implementing efficient solutions to straightforward application problems.<br />

Recommended and Reference Books<br />

[1] Timothy Budd, Understanding Object-Oriented Programming with Java, 2nd<br />

Edition Addison-Wesley Longman, 1999, ISBN: 0-201-61273-9,<br />

[2] Y. Daniel Liang, Introduction to Programming with C++, Prentice Hall, 2007<br />

[3] Schach Stephen, Object-Oriented and Classical S<strong>of</strong>tware Engineering, 7 th Edition,<br />

2006, McGraw-Hill. ISBN 0-073-19126-4.<br />

[4] Bruce E. Wampler, The Essence <strong>of</strong> Object-Oriented Programming, Addison-Wesley,<br />

2001.<br />

CMP2201: Discrete Ma<strong>the</strong>matics and Random Processes<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 00 15 60 100 40 100 4<br />

Rationale<br />

The area is discrete ma<strong>the</strong>matics is foundational material for computer engineering.<br />

The material is pervasive in <strong>the</strong> areas <strong>of</strong> data structures and algorithms.<br />

Course Content<br />

1. History and Overview <strong>of</strong> Discrete Ma<strong>the</strong>matics<br />

Knowledge <strong>the</strong>mes include sets, logic, functions, and graphs<br />

Contributors to <strong>the</strong> subject<br />

Purpose and role <strong>of</strong> discrete structures in computer engineering<br />

Contrasts between discrete-time models vs. continuous-time models<br />

2. Functions, Relations, and Sets<br />

Functions (one-to-one, onto, inverses, composition)<br />

<br />

<br />

<br />

<br />

3. Basic Logic<br />

Propositional logic<br />

Logical connectives<br />

Truth tables<br />

Use <strong>of</strong> logic to illustrate connectives<br />

Normal forms (conjunctive and disjunctive)<br />

Predicate logic<br />

Relations (reflexivity, symmetry, transitivity, equivalence relations)<br />

Discrete versus continuous functions and relations<br />

Sets (Venn diagrams, complements, Cartesian products, power sets)<br />

Cardinality and countability<br />

Bachelor <strong>of</strong> Science in Computer Engineering 45


Faculty <strong>of</strong> Technology<br />

Universal and existential quantification<br />

Limitations <strong>of</strong> predicate logic<br />

Boolean algebra<br />

4. Applications <strong>of</strong> logic to computer engineering Pro<strong>of</strong> Techniques<br />

Notions <strong>of</strong> implication, converse, inverse, negation, and contradiction<br />

The structure <strong>of</strong> formal pro<strong>of</strong>s<br />

Direct pro<strong>of</strong>s<br />

Pro<strong>of</strong> by counterexample, contraposition, and contradiction<br />

Ma<strong>the</strong>matical induction and strong induction<br />

5. Basics <strong>of</strong> Counting<br />

Permutations and combinations<br />

Counting arguments rule <strong>of</strong> products, rule <strong>of</strong> sums<br />

The pigeonhole principle<br />

Generating functions<br />

Applications to computer engineering<br />

6. Graphs and Trees<br />

Trees<br />

Undirected graphs<br />

Directed graphs<br />

Spanning trees<br />

Shortest path<br />

Euler and Hamiltonian cycles<br />

Traversal strategies<br />

7. Recursion<br />

Recursive ma<strong>the</strong>matical definitions<br />

Developing recursive equations<br />

Solving recursive equations<br />

Applications <strong>of</strong> recursion to computer engineering<br />

8. Probability Basic<br />

Introduction: Basic concepts Random experiments & events<br />

Elementary Theorems<br />

Probabilistic Modelling<br />

Independence<br />

Transformations<br />

Moments<br />

Reliability and failure rates<br />

Transforms <strong>of</strong> PDF<br />

Tail inequalities<br />

A vector Random variable<br />

Joint CDF & Joint PDF Conditional Probabilities & Densities<br />

Expectation, Covariance & correlation coefficient<br />

Joint distributions.<br />

9. Estimation Theory<br />

Definitions: Estimators, Point-Estimators, Interval Estimators<br />

Properties <strong>of</strong> Point Estimators<br />

Bachelor <strong>of</strong> Science in Computer Engineering 46


Faculty <strong>of</strong> Technology<br />

Types <strong>of</strong> Estimation: Estimation <strong>of</strong> a Distribution’s Unknown Parameter;<br />

Estimating <strong>the</strong> value <strong>of</strong> an inaccessible variable in terms <strong>of</strong> an accessible<br />

variable<br />

Maximum Likelihood Estimator<br />

Bayesian Estimator<br />

Mean Square Linear Estimator: Univariate Linear Regression; Orthogonality;<br />

Basic extension to Multivariate Linear Regression<br />

10. Random Processes<br />

Definition <strong>of</strong> a random process, qualitative discussion <strong>of</strong> examples <strong>of</strong> random<br />

processes: Poisson process<br />

Markov process, Brownian motion process<br />

Digital modulation using phase-shift keying<br />

Stationary and Ergodic processes<br />

Power spectral density (PSD): Properties <strong>of</strong> PSD, PSD applied to base band<br />

signals; PSD <strong>of</strong> white noise process<br />

Gaussian random processes and <strong>the</strong>ir application in communication <strong>the</strong>ory.<br />

Recommended and Reference Books<br />

[1] Edgar.G. Goodaire, Michael M. Parmenter. Discrete Ma<strong>the</strong>matics with Graph<br />

Theory, 3 rd Edition.<br />

[2] Hwei Hsu. Probability, Random Variables & Random Processes. Schaum’s<br />

Outlines. ISBN 0-07-030644-3<br />

[3] Yannis Viniotis. Probability & Random Processes for Electrical<br />

Engineers,McGraw Hill.<br />

[4] Papoulis. Probability, Random Variables & Stochastic Processes, 3 rd Edition.,<br />

McGraw Hill.<br />

[5] Jorge I Aunon, V. Chandrasekar: Introduction to Probability & Random<br />

Processes, McGraw Hill<br />

[6] Venkatarama Krishnan, 2006. Probability and Random Processes (Wiley<br />

Survival Guides in Engineering and Science), Wiley-Interscience; 1 Edition.<br />

ISBN-10: 0471703540, ISBN-13: 978-0471703549<br />

[7] Donald G. Childers, 1997. Probability and Random Processes: Using Matlab<br />

with Applications to Continuous and Discrete Time Systems. Richard D Irwin.<br />

ISBN-10: 0256133611, ISBN-13: 978-0256133615<br />

[8] Leon Garcia, 1993. Probability and Random Processes for Electrical<br />

Engineering. Addison Wesley Publishing Company; 2 Sol Edition. ISBN-10:<br />

020155738X, ISBN-13: 978-0201557381<br />

[9] Roy D. Yates, David J. Goodman, 2004. Probability and Stochastic Processes:<br />

A Friendly Introduction for Electrical and Computer Engineers. Wiley; 2<br />

Edition. ISBN-10: 0471272140, ISBN-13: 978-0471272144<br />

[10] Seymour Lipschutz, Marc Lipson, 2007. Schaum's Outline <strong>of</strong> Discrete<br />

Ma<strong>the</strong>matics, 3rd Ed. (Schaum's Outlines). McGraw-Hill; 3 Edition. ISBN-10:<br />

0071470387 . ISBN-13: 978-0071470384<br />

[11] Seymour Lipschutz, 1991. 2000 Solved Problems in Discrete Ma<strong>the</strong>matics.<br />

McGraw-Hill; 1 Edition. ISBN-10: 0070380317. ISBN-13: 978-0070380318<br />

[12] Kenneth Rosen, 2006. Student's Solutions Guide to accompany Discrete Ma<strong>the</strong>matics<br />

and Its Applications. McGraw-Hill Science/Engineering/Math; 6 Edition. ISBN-10:<br />

0073107794. ISBN-13: 978-0073107790<br />

Bachelor <strong>of</strong> Science in Computer Engineering 47


Faculty <strong>of</strong> Technology<br />

CMP2202: Analysis and Design <strong>of</strong> Algorithms<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 00 00 45 100 40 100 3<br />

Rationale<br />

Algorithms are fundamental to computer engineering. The real-world performance <strong>of</strong><br />

any s<strong>of</strong>tware or hardware system depends on two things: (1) <strong>the</strong> algorithms chosen,<br />

and (2) <strong>the</strong> suitability and efficiency <strong>of</strong> <strong>the</strong> implementation. Good algorithm design is,<br />

<strong>the</strong>refore, crucial for <strong>the</strong> performance <strong>of</strong> all systems. Moreover, <strong>the</strong> study <strong>of</strong> algorithms<br />

provides insight into <strong>the</strong> intrinsic nature <strong>of</strong> <strong>the</strong> problem as well as possible solution<br />

techniques independent <strong>of</strong> programming language, computer hardware, or any o<strong>the</strong>r<br />

implementation aspect.<br />

Objectives<br />

Explain <strong>the</strong> role and purpose <strong>of</strong> algorithms in Computer Engineering<br />

Indicate how algorithms are part <strong>of</strong> many different computer applications<br />

Provide some knowledge <strong>the</strong>mes such as relating complexity with algorithms<br />

Course Content<br />

1. History and Overview<br />

Indicate some reasons for studying analysis, complexity, and algorithmic<br />

strategies<br />

Highlight some people that contributed or influenced <strong>the</strong> area <strong>of</strong> algorithms<br />

Mention some basic algorithms and some reasons for <strong>the</strong>ir differences<br />

Highlight how <strong>the</strong> use <strong>of</strong> <strong>the</strong>ory influences algorithms<br />

Indicate how algorithms are part <strong>of</strong> many different computer applications<br />

Provide some knowledge <strong>the</strong>mes such as relating complexity with algorithms<br />

Contrast complexities <strong>of</strong> different algorithmic strategies<br />

Explore some additional resources associated with algorithms<br />

Explain <strong>the</strong> purpose and role <strong>of</strong> algorithms in computer engineering<br />

2. Basic Algorithmic Analysis<br />

Asymptotic analysis <strong>of</strong> upper and average complexity bounds<br />

Identifying differences among best, average, and worst case behaviors<br />

Big “O,” little “o,” omega, and <strong>the</strong>ta notation<br />

Empirical measurements <strong>of</strong> performance<br />

Time and space trade<strong>of</strong>fs in algorithms Using recurrence relations to analyze<br />

recursive algorithms<br />

3. Algorithmic Strategies<br />

Brute-force/exhaustive search algorithms<br />

Greedy algorithms ; Divide-and-conquer<br />

At least one <strong>of</strong>: Backtracking, branch-and-bound, heuristics<br />

4. Computing algorithms<br />

Simple numerical algorithms<br />

Sequential and binary search algorithms<br />

Sorting algorithms<br />

Hash tables, including collision-avoidance strategies<br />

Bachelor <strong>of</strong> Science in Computer Engineering 48


Faculty <strong>of</strong> Technology<br />

Binary search trees<br />

Representations <strong>of</strong> graphs (adjacency list, adjacency matrix)<br />

Depth- and breadth-first traversals<br />

Shortest-path algorithms (Dijkstra’s and Floyd’s algorithms)<br />

Transitive closure (Floyd’s algorithm)<br />

Minimum spanning tree (Prim’s and Kruskal’s algorithms)<br />

Topological sort<br />

5. Distributed algorithms<br />

Concurrency<br />

Scheduling<br />

Fault tolerance<br />

6. Algorithmic complexity<br />

Tractable and intractable problems<br />

Definition <strong>of</strong> <strong>the</strong> classes P and NP NP-completeness (Cook’s <strong>the</strong>orem)<br />

Standard NP-complete problems<br />

Uncomputable functions<br />

The halting problem<br />

Implications <strong>of</strong> uncomputability<br />

Deterministic ;finite Automata (DFA)<br />

Non-deterministic finite Automata (NFA)<br />

Equivalence <strong>of</strong> DFA’s and NFA’s<br />

Context-free grammars<br />

Pushdown automata (PDA)<br />

Learning Outcomes<br />

Design algorithms using <strong>the</strong> brute-force, greedy, and divide-and-conquer<br />

strategies.<br />

Design an algorithm using at least one o<strong>the</strong>r algorithmic strategy from <strong>the</strong> list <strong>of</strong><br />

topics for this unit.<br />

Use and implement <strong>the</strong> fundamental abstract data types—specifically including<br />

hash tables, binary search trees, and graphs—necessary to solve algorithmic<br />

problems efficiently.<br />

Solve problems using efficient sorting algorithms, and fundamental graph<br />

algorithms, including depth-first and breadth-first search, single-source and allpairs<br />

shortest paths, transitive closure, topological sort, and at least one<br />

minimum spanning tree algorithm.<br />

Demonstrate <strong>the</strong> following abilities: to evaluate algorithms, to select from a<br />

range <strong>of</strong> possible options, to provide justification for that selection, and to<br />

implement <strong>the</strong> algorithm in simple programming contexts.<br />

Recommended and Reference Books<br />

[1] Michael T. Goodrich, Roberto Tamassio, David Mount, 1995. Data Structures<br />

and Algorithms in C++, John Wiley, ISBN 0-471-20208-8<br />

[2] Robert Secidgewick, 2001. Algorithms in C++, Addison – Wesley, ISBN<br />

0201510596<br />

[3] Nell Dale, 2003. C++ Data Structures, Jones and Bartlett Publishers<br />

[4] Thomas H. Cormen,Clara Lee, Erica Lin, 2002. Introduction to Algorithms,<br />

Second Edition, The MIT Press<br />

[5] Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms<br />

Bachelor <strong>of</strong> Science in Computer Engineering 49


Faculty <strong>of</strong> Technology<br />

CMP2203: Digital Logic<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

Digital Logic is <strong>the</strong> foundation <strong>of</strong> computer engineering. The logic design area covers<br />

<strong>the</strong> digital building blocks, tools, and techniques in <strong>the</strong> design <strong>of</strong> computers and o<strong>the</strong>r<br />

digital systems. This course is designed to introduce students to switching <strong>the</strong>ory,<br />

combinational and sequential logic circuits, and memory elements.<br />

Objectives<br />

Explain <strong>the</strong> purpose and role <strong>of</strong> digital logic in computer engineering.<br />

Emphasize digital logic design as one <strong>of</strong> <strong>the</strong> topic areas that differentiate<br />

computer engineers from electrical engineers and computer scientists.<br />

Course Outline<br />

1. History and Overview<br />

Reasons for study<br />

influential persons<br />

important topics such as logic circuits, switching, memory, registers, and<br />

digital systems; importance <strong>of</strong> Boolean algebra<br />

meaning and importance <strong>of</strong> sequential logic<br />

contrast <strong>the</strong> meaning <strong>of</strong> gates, circuits, combinational circuits, and modules<br />

2. Switching Theory<br />

Number systems and codes; Binary Arithmetic; Boolean and switching algebra<br />

Representation and manipulation <strong>of</strong> switching functions<br />

Minimization <strong>of</strong> switching functions<br />

Incompletely specified switching functions<br />

3. Combinational Logic Circuits<br />

Basic logic gates (AND,OR,NOT,NAND,NOR,XOR)<br />

Realization <strong>of</strong> switching functions with networks <strong>of</strong> logic gates<br />

2-level networks: AND-OR,OR-AND,NAND-NAND,NOR-NOR<br />

Multi-level networks<br />

properties <strong>of</strong> logic gates (technology, fan-in, fan-out, propagation delay)<br />

Elimination <strong>of</strong> timing hazards/glitches<br />

4. Modular Design <strong>of</strong> Combinational Circuits<br />

Design <strong>of</strong> medium scale combinational logic modules<br />

Multiplexers, demultiplexers, decoders, encoders, comparators<br />

Arithmetic functions (adders, subtracters, carry lookahead)<br />

Multipliers, dividers; Arithmetic and logic units (ALUs)<br />

Hierarchical design <strong>of</strong> combinational circuits using logic modules<br />

5. Memory Elements<br />

Unclocked and clocked memory devices (latches, flip flops); Level vs. edgesensitive,<br />

and master-slave devices ; Basic flip flops (SR, D, JK, T);<br />

Asynchronous flip flop inputs (preset, clear); Timing constraints (setup time,<br />

Bachelor <strong>of</strong> Science in Computer Engineering 50


Faculty <strong>of</strong> Technology<br />

hold time) and propagation delays Data registers (selection, clocking,<br />

timing); Random-access memory (RAM)<br />

6. Sequential Logic Circuits<br />

Finite state machines (FSMs), clocked and unclocked; Mealy vs. Moore<br />

models <strong>of</strong> FSMs; Modeling FSM behavior: State diagrams and state tables,<br />

timing diagrams, algorithmic state machine charts<br />

Analysis <strong>of</strong> synchronous and asynchronous circuits<br />

Design <strong>of</strong> synchronous sequential circuits: State minimization, state<br />

assignment, next state and output equation realization<br />

Sequential functional units: Data registers, shift registers, counters, sequence<br />

detectors, synchronizers, debouncers, controllers<br />

7. Digital Systems Design<br />

Hierarchical, modular design <strong>of</strong> digital systems<br />

Syn<strong>the</strong>sis <strong>of</strong> digital circuits from HDL models<br />

Design principles and techniques: Bridging conceptual levels – top<br />

down/bottom up, divide and conquer, iteration, satisfying a behavior with a<br />

digital structure<br />

Functional units, building blocks and LSI components: Adder, shifter,<br />

register, ALU, and control circuits, tri-state devices and buses<br />

Control concepts: Register transfer notation, major control state, sequences <strong>of</strong><br />

micro-operations, conditional execution <strong>of</strong> micro-operations<br />

Timing concepts: System timing dependencies, sequencing, clock generation,<br />

distribution, and skew<br />

Programmable logic devices (PLDs) and field-programmable gate arrays<br />

(FPGAs), PLAs, ROMs, PALs, complex PLDs<br />

8. Modeling and Simulation<br />

Schematic capture<br />

Hierarchical schematic modeling for complex systems<br />

Digital system modeling with hardware description languages (VHDL,<br />

Verilog)<br />

O<strong>the</strong>r modeling techniques (timing diagrams, register transfer languages, state<br />

diagrams, algorithmic state machines)<br />

Functional simulation <strong>of</strong> combinational and sequential circuits<br />

Timing models <strong>of</strong> digital circuit elements: Propagation delay, rise/fall time,<br />

setup and hold times, pulse widths<br />

Timing simulation to measure delays and study signals subject to timing<br />

constraints<br />

9. Formal Verification<br />

Relationship <strong>of</strong> good design practice to formal verification<br />

Comparison and contrast <strong>of</strong> formal verification, validation, testing, and<br />

reliability<br />

Verification by model checking ; Verification by pro<strong>of</strong>s ; Verification by<br />

equivalence checking ; Verification by simulation and test-benches ;<br />

Verification by assertions and verification languages ;Verification by testing ;<br />

Economics <strong>of</strong> verification<br />

O<strong>the</strong>r verification: signal integrity, specification, reliability, safety, power,<br />

cooling<br />

10. Faults Models and Testing<br />

Bachelor <strong>of</strong> Science in Computer Engineering 51


Faculty <strong>of</strong> Technology<br />

Logical (stuck-at) faults (single and multiple)<br />

O<strong>the</strong>r fault models (bridging, opens, delay faults) ; Yield and defect levels ;<br />

Test coverage ; Fault equivalence and dominance ; Fault simulation and fault<br />

grading<br />

Test generation algorithms such as <strong>the</strong> D-algorithm and PODEM<br />

Automatic Test Pattern Generation (ATPG): Pseudorandom techniques,<br />

deterministic test pattern generation<br />

Test generation algorithms for sequential circuits ; Memory testing ; PLA<br />

testing<br />

11. Design for Testability<br />

Testability measures (controllability, observability)<br />

Scan and partial scan design<br />

BIST and o<strong>the</strong>r design for testability techniques<br />

Boundary scan and <strong>the</strong> IEEE 1149.1 testability standard ; Ad-hoc methods<br />

Learning Outcomes<br />

Describe how computer engineering uses or benefits from digital logic.<br />

Work with binary number systems and arithmetic.<br />

Derive and manipulate switching functions that form <strong>the</strong> basis <strong>of</strong> digital circuits.<br />

Explain and apply fundamental characteristics <strong>of</strong> relevant electronic technologies,<br />

such as propagation delay, fan-in, fan-out, and power dissipation and noise<br />

margin.<br />

Analyze and design combinational logic networks in a hierarchical, modular<br />

approach, using standard and custom logic functions.<br />

Analyze circuits containing basic memory elements.<br />

Analyze <strong>the</strong> behavior <strong>of</strong> synchronous and asynchronous machines.<br />

Apply digital system design principles and descriptive techniques<br />

Recommended and Reference Books<br />

[1] Stephen Brown, Zvonko Vranesic, 2004. Fundamentals <strong>of</strong> Digital Logic with<br />

VHDL Design, McGraw-Hill Pr<strong>of</strong>essional. ISBN 0072499389,<br />

9780072499384<br />

[2] Douglas A. Pucknell, 1990. Fundamentals <strong>of</strong> Digital Logic Design with VLSI<br />

Circuit Applications, Prentice-Hall<br />

[3] Ronald J. Tocci, 1995. Digital Systems: Principles & Applications, 6th ed.,<br />

Prentice Hall.<br />

CMP2204: Operating System Technologies<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 40 100 4<br />

Rationale<br />

An operating system defines a s<strong>of</strong>tware interface <strong>of</strong> <strong>the</strong> computer hardware and <strong>the</strong><br />

architecture with which computer engineers can control and exploit <strong>the</strong> hardware to<br />

provide maximum benefit to <strong>the</strong> user. It also manages sharing <strong>of</strong> resources (hardware<br />

and s<strong>of</strong>tware) among <strong>the</strong> computer’s users (user programs and systems programs).<br />

Many <strong>of</strong> <strong>the</strong> ideas involved in operating system use have wider applicability across <strong>the</strong><br />

Bachelor <strong>of</strong> Science in Computer Engineering 52


Faculty <strong>of</strong> Technology<br />

field <strong>of</strong> computer engineering such as concurrent programming.<br />

Objectives<br />

Student should understand <strong>the</strong> basic principles and <strong>the</strong> purposes <strong>of</strong> an operating<br />

system prior to a study <strong>of</strong> digital instrumentation and embedded systems.<br />

To addresses both <strong>the</strong> use <strong>of</strong> operating systems (externals) and <strong>the</strong>ir design and<br />

implementation (internals).<br />

Course Content<br />

1. History and Overview<br />

Indicate some reasons for studying operating systems<br />

Highlight some people that influenced or contributed to <strong>the</strong> area <strong>of</strong> operating<br />

systems ; Indicate some important topic areas such as function and design,<br />

concurrency, scheduling, dispatch, memory management, device management,<br />

file systems, security, and protection ; Describe <strong>the</strong> purpose <strong>of</strong> an operating<br />

system<br />

Indicate <strong>the</strong> meaning <strong>of</strong> an interrupt<br />

Describe <strong>the</strong> meaning <strong>of</strong> concurrency and <strong>the</strong> reasons for its importance<br />

Illustrate <strong>the</strong> manner in which scheduling and dispatch take place in a<br />

computer through its operating system<br />

Describe <strong>the</strong> manner and importance <strong>of</strong> memory management<br />

Describe <strong>the</strong> manner and importance <strong>of</strong> device management<br />

Explore some additional resources associated with operating systems<br />

Explain <strong>the</strong> purpose and role <strong>of</strong> operating systems in computer engineering<br />

2. Design Principles<br />

Functionality <strong>of</strong> a typical operating system<br />

Mechanisms to support client-server models, hand-held devices<br />

Design issues (efficiency, robustness, flexibility, portability, security,<br />

compatibility)<br />

Influences <strong>of</strong> security, networking, multimedia, windows<br />

Structuring methods (monolithic, layered, modular, micro-kernel models)<br />

Abstractions, processes, and resources ;<br />

Concepts <strong>of</strong> application program interfaces (APIs) specific to operating<br />

systems<br />

Applications needs and <strong>the</strong> evolution <strong>of</strong> hardware/s<strong>of</strong>tware techniques;<br />

Device organization; Interrupts: methods and implementations<br />

Concept <strong>of</strong> user/system state and protection, transition to kernel mode<br />

3. Concurrency<br />

States and state diagrams<br />

Structures (ready list, process control blocks, and so forth)<br />

Dispatching and context switching ; The role <strong>of</strong> interrupts<br />

Concurrent execution: advantages and disadvantages<br />

The “mutual exclusion” problem and some solutions<br />

Deadlock: causes, conditions, prevention<br />

Models and mechanisms (semaphores, monitors, condition variables,<br />

rendezvous)<br />

Producer-consumer problems and synchronization<br />

Multiprocessor issues (spin-locks, reentrancy)<br />

4. Scheduling And Dispatch<br />

Preemptive and non-preemptive scheduling<br />

Bachelor <strong>of</strong> Science in Computer Engineering 53


Faculty <strong>of</strong> Technology<br />

Schedulers and policies<br />

Processes and threads<br />

Deadlines and real-time issues<br />

5. Memory Management<br />

Review <strong>of</strong> physical memory and memory management hardware<br />

Overlays, swapping, and partitions<br />

Paging and segmentation<br />

Placement and replacement policies<br />

Working sets and thrashing<br />

Caching<br />

6. Device Management<br />

Characteristics <strong>of</strong> serial and parallel devices<br />

Abstracting device differences<br />

Buffering strategies<br />

Direct memory access<br />

Recovery from failures<br />

7. Security and Protection<br />

Overview <strong>of</strong> system security<br />

Policy/mechanism separation<br />

Security methods and devices<br />

Protection, access, and au<strong>the</strong>ntication<br />

Models <strong>of</strong> protection<br />

Memory protection<br />

Encryption Recovery management<br />

8. File Systems<br />

Files: data, metadata, operations, organization, buffering, sequential, nonsequential<br />

Directories: contents and structure<br />

File systems: partitioning, mount/unmount, and virtual file systems<br />

Standard implementation techniques<br />

Memory-mapped files<br />

Special-purpose file systems<br />

Naming, searching, access, backups<br />

9. System Performance Evaluation<br />

Why and what system performance needs to be evaluated<br />

Policies for caching, paging, scheduling, memory management, security, and<br />

so forth<br />

Evaluation models: deterministic, analytic, simulation, or implementationspecific<br />

How to collect evaluation data (pr<strong>of</strong>iling and tracing mechanisms)<br />

Learning Outcomes<br />

Identify some contributors to operating systems and relate <strong>the</strong>ir achievements to<br />

<strong>the</strong> knowledge area; provide some reasons for a computer to have an operating<br />

system; describe concurrency and reasons for its importance; describe scheduling<br />

and illustrate how it works to improve computer performance; sketch an example<br />

<strong>of</strong> how and why a compute would need to manage memory; identify some<br />

devices an operating system would manage; and describe how computer<br />

engineering uses or benefits from operating systems.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 54


Faculty <strong>of</strong> Technology<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Demonstrate understanding <strong>of</strong> Operating Systems as an interface between user<br />

programs and <strong>the</strong> computer hardware; demonstrate understanding <strong>of</strong> <strong>the</strong> logical<br />

layers and <strong>the</strong> benefits <strong>of</strong> building <strong>the</strong>se layers in a hierarchical fashion; relate<br />

system state to user protection; explain <strong>the</strong> range <strong>of</strong> requirements that a modern<br />

operating system has to address; define <strong>the</strong> functionality that a modern operating<br />

system must deliver to meet a particular need; and articulate design trade<strong>of</strong>fs<br />

inherent in operating system design.<br />

Justify <strong>the</strong> presence <strong>of</strong> concurrency within <strong>the</strong> framework <strong>of</strong> an operating system;<br />

demonstrate <strong>the</strong> potential run-time problems arising from <strong>the</strong> concurrent<br />

operation <strong>of</strong> many (possibly a dynamic number <strong>of</strong>) tasks; summarize <strong>the</strong> range <strong>of</strong><br />

mechanisms (at an operating system level) that are useful to realize concurrent<br />

systems and be able to describe <strong>the</strong> benefits <strong>of</strong> each; explain <strong>the</strong> different states<br />

that a task may pass through and <strong>the</strong> data structures needed to support <strong>the</strong><br />

management <strong>of</strong> many tasks.<br />

Compare and contrast <strong>the</strong> common algorithms used for both preemptive and<br />

non-preemptive scheduling <strong>of</strong> tasks in operating systems; describe relationships<br />

between scheduling algorithms and application domains; and investigate <strong>the</strong><br />

wider applicability <strong>of</strong> scheduling in such contexts as disk I/O, networking<br />

scheduling, and project scheduling.<br />

Introduce memory hierarchy and cost-performance trade<strong>of</strong>fs; explain virtual<br />

memory and its realization in hardware and s<strong>of</strong>tware; examine <strong>the</strong> wider<br />

applicability and relevance <strong>of</strong> <strong>the</strong> concepts <strong>of</strong> virtual entity and <strong>of</strong> caching;<br />

evaluate <strong>the</strong> trade-<strong>of</strong>fs in terms <strong>of</strong> memory size (main memory, cache memory,<br />

auxiliary memory) and processor speed; and defend <strong>the</strong> different ways <strong>of</strong><br />

allocating memory to tasks based on <strong>the</strong> relative merits <strong>of</strong> each.<br />

Identify <strong>the</strong> relationship between <strong>the</strong> physical hardware and <strong>the</strong> virtual devices<br />

maintained by <strong>the</strong> operating system; differentiate <strong>the</strong> mechanisms used in<br />

interfacing a range <strong>of</strong> devices (including hand-held devices, networks,<br />

multimedia) to a computer and explain <strong>the</strong> implications <strong>of</strong> <strong>the</strong>se for <strong>the</strong> design <strong>of</strong><br />

an operating system; and implement a simple device driver for a range <strong>of</strong> possible<br />

devices.<br />

Defend <strong>the</strong> need for protection and security, and <strong>the</strong> role <strong>of</strong> ethical<br />

considerations in computer use; summarize <strong>the</strong> features <strong>of</strong> an operating system<br />

used to provide protection and security, and describe <strong>the</strong> limitations <strong>of</strong> each <strong>of</strong><br />

<strong>the</strong>se; and compare and contrast current methods for implementing security.<br />

Summarize <strong>the</strong> full range <strong>of</strong> considerations that support file systems; compare<br />

and contrast different approaches to file organization, recognizing <strong>the</strong> strengths<br />

and weaknesses <strong>of</strong> each.<br />

Describe <strong>the</strong> performance metrics used to determine how a system performs;<br />

explain <strong>the</strong> main evaluation models used to evaluate a system.<br />

Recommended and Reference Books<br />

[1] David Groth, Dan Newland, 2001. A+ Operating System Technologies Study Guide.<br />

Published by John Wiley & Sons Australia, Limited, 2001. ISBN 0782128076,<br />

9780782128079<br />

[2] Charles J. Brooks, 2004. A+ Certification Operating System Technologies. Prentice<br />

Hall, ISBN 0131147730, 9780131147737<br />

[3] Andrew S. Tanenbaum, 2007. Modern Operating Systems (3rd Edition) (GOAL<br />

Series). Prentice Hall; 3 Edition ISBN-10: 0136006639, ISBN-13: 978-0136006633<br />

Bachelor <strong>of</strong> Science in Computer Engineering 55


Faculty <strong>of</strong> Technology<br />

CMP2205: Computer Networks<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 40 100 4<br />

Rationale<br />

The number <strong>of</strong> computer networks is increasing dramatically. From small <strong>of</strong>fices to<br />

entire countries, computer networks have become <strong>the</strong> heart <strong>of</strong> electronic<br />

communication today. Using established protocols, <strong>the</strong>se local and wide area networks<br />

have become <strong>the</strong> conduit for servers and clients. Of interest today is data integrity and<br />

security as well as <strong>the</strong> “right” to <strong>the</strong> information communicated.<br />

Objectives<br />

Course Content<br />

1. History and Overview<br />

Indicate some reasons for studying networks<br />

Highlight some people that influenced or contributed to <strong>the</strong> area <strong>of</strong> networks<br />

Indicate some important topic areas such as network architectures and<br />

protocols, network types (LAN, WAN, MAN, and wireless), data security,<br />

data integrity, and network performance; Describe some <strong>of</strong> <strong>the</strong> hardware and<br />

s<strong>of</strong>tware components <strong>of</strong> networks<br />

Describe <strong>the</strong> operation <strong>of</strong> some network devices such as repeaters, bridges,<br />

switches, routers, and gateways<br />

Indicate some network topologies such as mesh, star, tree, bus, and ring<br />

Describe <strong>the</strong> purpose <strong>of</strong> network protocols ; Mention some popular protocols<br />

Explore some additional resources associated with networks<br />

Explain <strong>the</strong> purpose and role <strong>of</strong> networks in computer engineering<br />

2. Communications Network Architecture<br />

Network line configuration (point-to-point, multipoint)<br />

Networking and internetworking devices: Repeaters, bridges, switches,<br />

routers, gateways<br />

Network Topologies (mesh, star, tree, bus, ring)<br />

Connection-oriented and connectionless services<br />

3. Communications Network Protocols<br />

Network protocol (syntax, semantics, timing)<br />

Protocol suites (TCP/IP)<br />

Layered protocol s<strong>of</strong>tware (stacks): Physical layer networking concepts<br />

Data link layer concepts<br />

Internetworking and routing<br />

Network Standards and standardization bodies<br />

4. Local and Wide Area Networks<br />

LAN topologies (bus, ring, star)<br />

LAN technologies (E<strong>the</strong>rnet, token Ring, Gigabit E<strong>the</strong>rnet)<br />

Error detection and correction<br />

Carrier sense multiple access networks (CSMA)<br />

Large networks and wide areas<br />

Bachelor <strong>of</strong> Science in Computer Engineering 56


Faculty <strong>of</strong> Technology<br />

Circuit switching and packet switching<br />

Protocols (addressing, congestion control, virtual circuits, quality <strong>of</strong> service)<br />

5. Client-Server Computing<br />

Web technologies: Server-side programs<br />

Common gateway interface (CGI) programs<br />

Client-side scripts<br />

The applet concept<br />

Characteristics <strong>of</strong> web servers: Handling permissions<br />

File management<br />

Capabilities <strong>of</strong> common server architectures<br />

Support tools for web site creation and web management<br />

6. Data Security and Integrity<br />

Fundamentals <strong>of</strong> secure networks<br />

Cryptography<br />

Encryption and privacy: Public key, private key, symmetric key<br />

Au<strong>the</strong>ntication protocols<br />

Packet filtering<br />

Firewalls<br />

Virtual private networks<br />

Transport layer security<br />

7. Wireless and Mobile Computing<br />

Overview <strong>of</strong> <strong>the</strong> history, evolution, and compatibility <strong>of</strong> wireless standards<br />

The special problems <strong>of</strong> wireless and mobile computing<br />

Wireless local area networks and satellite-based networks<br />

Mobile Internet protocol<br />

Mobile aware adaptation<br />

Extending <strong>the</strong> client-server model to accommodate mobility<br />

Mobile data access: server data dissemination and client cache management<br />

The s<strong>of</strong>tware packages to support mobile and wireless computing<br />

The role <strong>of</strong> middleware and support tools<br />

Performance issues<br />

Emerging technologies<br />

8. Performance Evaluation<br />

Privacy and public networks<br />

Virtual private networks<br />

Service paradigms: connection-oriented service<br />

Connectionless service<br />

Network performance characteristics: delay, throughput<br />

9. Data Communications<br />

Encoding and modulating: A/D and D/A conversion<br />

Interfaces and modems<br />

Transmission media<br />

Multiplexing<br />

Error detection and correction<br />

10. Network Management<br />

Overview <strong>of</strong> <strong>the</strong> issues <strong>of</strong> network management<br />

Use <strong>of</strong> passwords and access control mechanisms<br />

Bachelor <strong>of</strong> Science in Computer Engineering 57


Faculty <strong>of</strong> Technology<br />

Domain names and name services<br />

Issues for Internet service providers (ISPs)<br />

Security issues and firewalls<br />

Quality <strong>of</strong> service issues: performance, failure recovery<br />

11. Compression and Decompression<br />

Analog and digital representations<br />

Encoding and decoding algorithms<br />

Lossless and lossy compression<br />

Data compression: Huffman coding and <strong>the</strong> Ziv-Lempel algorithm<br />

Audio compression and decompression<br />

Image compression and decompression<br />

Video compression and decompression<br />

Performance issues: timing, compression factor, suitability for real-time use<br />

Learning Outcomes<br />

Identify some contributors to networks and relate <strong>the</strong>ir achievements to <strong>the</strong><br />

knowledge area; identify some components <strong>of</strong> a network; name some network<br />

devices and describe <strong>the</strong>ir purpose; describe advantages <strong>of</strong> a star topology over a<br />

ring topology; describe advantages <strong>of</strong> a ring topology over a star topology;<br />

define <strong>the</strong> meaning <strong>of</strong> a protocol; explain <strong>the</strong> importance <strong>of</strong> security when<br />

dealing with networks; and describe how computer engineering uses or benefits<br />

from networks.<br />

Understand fundamental concepts <strong>of</strong> networks and <strong>the</strong>ir topologies; and<br />

understand <strong>the</strong> concept <strong>of</strong> network architecture and its hardware components.<br />

Demonstrate understanding <strong>of</strong> <strong>the</strong> elements <strong>of</strong> a protocol, and <strong>the</strong> concept <strong>of</strong><br />

layering; recognize <strong>the</strong> importance <strong>of</strong> networking standards, and <strong>the</strong>ir regulatory<br />

committees; describe <strong>the</strong> seven layers <strong>of</strong> <strong>the</strong> OSI model; compare and contrast<br />

<strong>the</strong> OSI model with <strong>the</strong> TCP/IP model; and demonstrate understanding <strong>of</strong> <strong>the</strong><br />

differences between circuit switching and packet switching.<br />

Understand <strong>the</strong> basic concepts <strong>of</strong> LAN and WAN technologies and topologies;<br />

demonstrate understanding <strong>of</strong> different components and requirements <strong>of</strong> network<br />

protocols; demonstrate understanding <strong>of</strong> basic concepts <strong>of</strong> error detection and<br />

correction at <strong>the</strong> data link layer and below; and design and build a simple<br />

network by implementing (and designing) a simple network protocol that<br />

operates at <strong>the</strong> physical and data link layers <strong>of</strong> <strong>the</strong> OSI model.<br />

Explain <strong>the</strong> different roles and responsibilities <strong>of</strong> clients and servers for a range<br />

<strong>of</strong> possible applications; select a range <strong>of</strong> tools that will ensure an efficient<br />

approach to implementing various client-server possibilities; and design and build<br />

a simple interactive web-based application (e.g., a simple web form that collects<br />

information from <strong>the</strong> client and stores it in a file on <strong>the</strong> server).<br />

Understand common barriers to network security and <strong>the</strong> major issues involved<br />

in implementing proper security measures; describe <strong>the</strong> purpose <strong>of</strong> encryption<br />

and <strong>the</strong> function <strong>of</strong> public and private keys; compare and contrast <strong>the</strong> various<br />

types <strong>of</strong> firewalls; generate and distribute a PGP key pair and use <strong>the</strong> PGP<br />

package to send an encrypted e-mail message; and explain <strong>the</strong> concept <strong>of</strong> and<br />

necessity for transport layer security.<br />

Describe <strong>the</strong> main characteristics <strong>of</strong> mobile IP and explain how differs from IP<br />

with regard to mobility management and location management as well as<br />

performance; illustrate (with home agents and foreign agents) how e-mail and<br />

o<strong>the</strong>r traffic is routed using mobile IP; be aware <strong>of</strong> <strong>the</strong> many areas <strong>of</strong> interest that<br />

Bachelor <strong>of</strong> Science in Computer Engineering 58


Faculty <strong>of</strong> Technology<br />

lie within this area, including networking, multimedia, wireless, and mobile<br />

computing, and distributed computing.<br />

Define performance metric; and describe how each affects a particular network<br />

and/or service paradigm.<br />

Demonstrate understanding <strong>of</strong> <strong>the</strong> fundamental concepts <strong>of</strong> data<br />

communications; understand signals and signal encoding methods to<br />

communication service methods and data transmission modes.<br />

Explain <strong>the</strong> issues for network management arising from a range <strong>of</strong> security<br />

threats, including viruses, worms, Trojan horses, and denial-<strong>of</strong>-service attack;<br />

summarize <strong>the</strong> strengths and weaknesses associated with different approaches to<br />

security; develop a strategy for ensuring appropriate levels <strong>of</strong> security in a system<br />

designed for a particular purpose; and implement a network firewall.<br />

Summarize <strong>the</strong> basic characteristics <strong>of</strong> sampling and quantization for digital<br />

representation.<br />

Select, giving reasons that are sensitive to <strong>the</strong> specific application and particular<br />

circumstances, <strong>the</strong> most appropriate compression techniques for text, audio,<br />

image, and video information; explain <strong>the</strong> asymmetric property <strong>of</strong> compression<br />

and decompression algorithms; illustrate <strong>the</strong> concept <strong>of</strong> run-length encoding; and<br />

illustrate how a program like <strong>the</strong> UNIX compress utility, which uses Huffman<br />

coding and <strong>the</strong> Ziv-Lempel algorithm, would compress a typical text file.<br />

Recommended and Reference Books<br />

[1] Andrew S. Tanenbaum1996. Computer Networks. Prentice Hall; 3rd Edition.<br />

ISBN-10: 0133499456, ISBN-13: 978-0133499452<br />

[2] James F. Kurose and Keith W, 2007.Computer Networking: A Top-Down.<br />

Addison Wesley; 4 Edition. ISBN-10: 0321497708, ISBN-13: 978-<br />

0321497703<br />

[3] Natalia Olifer and Victor Olifer, 2006. Computer Networks: Principles,<br />

Technologies and Protocols for Network Design. Wiley. ISBN-10:<br />

0470869828, ISBN-13: 978-0470869826<br />

[4] Douglas E. Comer, 2003. Computer Networks and Internets with Internet<br />

Applications. 4th Edition. Prentice Hall. ISBN-10: 0131433512, ISBN-13:<br />

978-0131433519<br />

[5] Larry L. Peterson, Bruce S. Davie, 2007.Computer Networks: A Systems<br />

Approach, Fourth Edition (The Morgan Kaufmann Series in Networking).<br />

Morgan Kaufmann; 4 Edition. ISBN-10: 0123705487, ISBN-13: 978-<br />

0123705488<br />

[6] Nader F. Mir, 2006. Computer and Communication Networks. Prentice Hall<br />

PTR; 1 Edition . ISBN-10: 0131747991, ISBN-13: 978-0131747999<br />

CMP2301: Industrial Training I<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Report<br />

Mark<br />

Weighted Field<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

00 300 00 30 100 60 40 2<br />

Rationale<br />

This shall be carried out in a firm doing Computer Engineering or Related Work. This<br />

training goes on for ten weeks during which <strong>the</strong> student is supervised by a member <strong>of</strong><br />

<strong>the</strong> teaching staff <strong>of</strong> <strong>the</strong> department. The student prepares a report discussing <strong>the</strong><br />

Bachelor <strong>of</strong> Science in Computer Engineering 59


Faculty <strong>of</strong> Technology<br />

training environment, lessons learnt, challenges faced and recommendations. This<br />

report has to be approved by both <strong>the</strong> training <strong>of</strong>ficer at <strong>the</strong> training firm and <strong>the</strong><br />

student’s supervisor and should be handed in to <strong>the</strong> said concerned parties before <strong>the</strong><br />

beginning <strong>of</strong> <strong>the</strong> academic year.<br />

Objectives<br />

By undertaking <strong>the</strong> Industrial Training programme, <strong>the</strong> student will be able to:<br />

Communicate effectively with fellow workers and supervisors in issues related to<br />

projects undertaken.<br />

Demonstrate and practice good working ethics and to internalize excellence.<br />

<br />

<br />

<br />

<br />

<br />

Attest and practice high-quality organizational skills in enhancing individual and<br />

group effectiveness and productivity.<br />

Demonstrate creativity and innovation in solving problems related to real-life<br />

projects.<br />

Exhibit pleasant interpersonal skills in developing understanding and appreciation<br />

<strong>of</strong> individual differences and interpersonal skills in building self-confidence.<br />

Work independently or under very minimal supervision.<br />

Demonstrate good planning, good management, constant monitoring and quality<br />

delivery <strong>of</strong> project undertaken.<br />

ELE3102: Electromagnetic Fields<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

This course introduces students to <strong>the</strong> Basic laws electromagnetic fields and<br />

elementary applications <strong>of</strong> vector analysis, steady-state electric and magnetic fields,<br />

boundary value problems, and transmission lines.<br />

Objectives<br />

<br />

<br />

To develop an understanding <strong>of</strong> electromagnetic-field fundamentals by<br />

emphasizing both ma<strong>the</strong>matical analytical rigor and physical conceptual<br />

reasoning, as applied toward practical engineering problems.<br />

To develop <strong>the</strong> ability to analyze engineering systems based on electrostatic<br />

fields, steady electric currents, and magneto static fields in arbitrary material<br />

media,<br />

To apply vector calculus to solutions <strong>of</strong> a variety <strong>of</strong> static field problems<br />

To develop a solid grasp and an appreciation <strong>of</strong> Maxwell’s equations and use<br />

<strong>the</strong>se equations to solve time-varying field problems.<br />

Course Content<br />

1. Electromagnetic Potentials and Topics for Circuits and System<br />

Poisson’s and Laplace equations<br />

<br />

Capacitance, conductance and inductance<br />

Bachelor <strong>of</strong> Science in Computer Engineering 60


Faculty <strong>of</strong> Technology<br />

Magnetic circuits<br />

2. Transmission-Lines Essentials<br />

Transmission lines<br />

Lines terminated by reactive and non-linear resistive elements<br />

3. Transmission Lines for Communications<br />

Different matching configurations<br />

Smith Chart<br />

Lossy Lines<br />

4. Guided Wave Principles for Electronics and Optoelectronics<br />

Wave propagation in any direction<br />

TE and TM waves in parallel plate waveguide<br />

<br />

Dispersion and group velocity<br />

Reflection and refraction<br />

Dielectric waveguide<br />

5. Waveguides and Antennas Fundamentals<br />

Rectangular Waveguides<br />

Transverse Electromagnetic Waves (TEM)<br />

<br />

<br />

<br />

<br />

Transverse Magnetic (TM) Modes<br />

Transverse Electric (TE) Modes<br />

Wave Propagation in <strong>the</strong> Guide<br />

Power Transmission and Attenuation<br />

Waveguide Current and Mode Excitation<br />

Waveguide Resonators<br />

Learning Outcomes<br />

By <strong>the</strong> end <strong>of</strong> this course, students should be able to:<br />

Demonstrate a firm understanding <strong>of</strong> electromagnetic fields<br />

Solve realistic electromagnetic-field problems utilizing physical conceptual<br />

reasoning and ma<strong>the</strong>matical syn<strong>the</strong>sis <strong>of</strong> solutions, and not pure formulaic<br />

solving.<br />

Recommended and Reference Books<br />

[1] K. Lonngren, S. Savov, & R. Jost, Fundamentals <strong>of</strong> Electromagnetics with<br />

MATLAB, 2 nd Edition (Scitech Publishing, 2007).<br />

[2] R. Wolfson & J. Pasach<strong>of</strong>f, Physics for Scientists and Engineers (Addison-<br />

Wesley).<br />

[3] J. Stewart, Calculus, Third Edition (Brooks/Cole Publishing Company, 1995).<br />

[4] N. N. Rao, “Elements <strong>of</strong> Engineering Electromagnetics,” 6th Edition, Prentice<br />

Hall, 2004.<br />

[5] Field and Waves in Communication Electronics, third edition, Ramo,<br />

Whinnery, and Van Duzer, Wiley, 1994<br />

[6] William H. Hayt, Jr. John A. Buck, 2000. Engineering Electromagnetics. 6 th<br />

Edition MC Graw Hill.<br />

[7] Ma<strong>the</strong>w N.O. Sadiku, 2006. Elements <strong>of</strong> Electromagnetics, 4 th Edition. ISBN<br />

13: 9780195300482, ISBN 10:0195300483<br />

Bachelor <strong>of</strong> Science in Computer Engineering 61


Faculty <strong>of</strong> Technology<br />

ELE3104: Applied Digital Electronics<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

This course is designed to introduce <strong>the</strong> fundamental concepts <strong>of</strong> digital electronics,<br />

with laboratories aimed at giving students <strong>the</strong> practical experience in design and<br />

measurement pertinent to digital circuits.<br />

Objectives<br />

To advance <strong>the</strong> <strong>the</strong>ory <strong>of</strong> digital electronics to areas <strong>of</strong> application<br />

To expose students to <strong>the</strong> state-<strong>of</strong>-<strong>the</strong>-art technologies in digital electronics<br />

To articulate <strong>the</strong> advantages and limitation <strong>of</strong> digital electronics technologies<br />

with view <strong>of</strong> stimulating research interests<br />

Subject Content<br />

Unsigned Number Systems (Decimal, Binary, Octal, Hex and Base Conversion)<br />

Codes (BCD, Gray, ASCII and Parity)<br />

Basic Digital Logic Gates (AND / OR) and Truth Tables<br />

Boolean Algebra (Postulate and Theorems, Equation Reductions and Circuit<br />

Implementations)<br />

DeMorgan’s Theorems (NAND and NOR Gates and Implementation)<br />

Sum <strong>of</strong> Product Circuits<br />

Karnaugh Maps and Circuit Simplifications<br />

Multiplexers, Demultiplexers, Decoders and o<strong>the</strong>r Medium Scale Integration<br />

(MSI) Circuits<br />

Basic SR Flip-Flops (NAND & NOR Implementations and Limitations)<br />

D Latch, Clocked and Edge Triggered D Flip-Flops<br />

Edge Triggered JK Flip-Flop<br />

One Shot Multivibrators and 555 Type Timers<br />

Ripple Counter<br />

Sequential Logic (Synchronous Counters, Shift Registers, and Basic State<br />

Machine Concepts)<br />

Memory Systems (RAM, ROM, PROM, EPROM etc)<br />

Programmable Logic (an extension <strong>of</strong> <strong>the</strong> PROM - PAL, PLA, and o<strong>the</strong>r PLD<br />

devices. FPGAs)<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> student will be able to:<br />

Represent numerical values in various number systems and perform number<br />

conversions between different number systems.<br />

Demonstrate <strong>the</strong> knowledge <strong>of</strong>: operation <strong>of</strong> logic gates (AND, OR, NAND,<br />

NOR, XOR, XNOR) using IEEE/ANSI standard symbols; Boolean algebra<br />

Bachelor <strong>of</strong> Science in Computer Engineering 62


Faculty <strong>of</strong> Technology<br />

<br />

<br />

<br />

including algebraic manipulation/simplification, and application <strong>of</strong> DeMorgan’s<br />

<strong>the</strong>orems; Karnaugh map reduction method.<br />

Demonstrate <strong>the</strong> knowledge <strong>of</strong> operation <strong>of</strong> basic types <strong>of</strong> flip-flops, registers,<br />

counters, decoders, encoders, multiplexers, and de-multiplexers.<br />

Analyze and design digital combinational circuits including arithmetic circuits<br />

(half adder, full adder, multiplier).<br />

Analyze sequential digital circuits.<br />

Demonstrate knowledge <strong>of</strong> <strong>the</strong> nomenclature and technology in <strong>the</strong> area <strong>of</strong><br />

memory devices: ROM, RAM, PROM, PLD, FPGAs, etc<br />

Recommended and Reference Books<br />

[1] Agarwal, Anant and Jeffrey H. Lang, Foundations <strong>of</strong> Analog and Digital<br />

Electronic Circuits, Morgan Kaufmann Publishers, Elsevier, July 2005.<br />

[2] Ronald J. Tocci and Neal S. Widmer, Digital Systems: Principles and<br />

Applications, Prentice Hall, India, 2004<br />

[4] Douglas A. Pucknell, Fundamentals <strong>of</strong> Digital Logic Design with VLSI Circuit<br />

Applications, Prentice-Hall, 1990<br />

[5] Ronald J. Tocci, Digital Systems: Principles & Applications, 6th ed., Prentice<br />

Hall, 1995.<br />

CMP3101: Database Systems<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

This Course is designed to address <strong>the</strong> needs <strong>of</strong> <strong>the</strong> student undertaking computer<br />

engineering in database systems.<br />

Objectives<br />

To introduce <strong>the</strong> student to <strong>the</strong> fundamental concepts <strong>of</strong> data models<br />

<br />

To expose <strong>the</strong> student to <strong>the</strong> methods and techniques appropriate for a given<br />

problem<br />

To introduce <strong>the</strong> student to <strong>the</strong> selection and implementation <strong>of</strong> appropriate<br />

database solutions that reflect all suitable constraints, including scalability and<br />

usability.<br />

Course Content<br />

1. History and Overview <strong>of</strong> Database Systems<br />

Indicate some reasons for studying database systems<br />

Highlight some people that influenced or contributed to <strong>the</strong> area <strong>of</strong><br />

database systems<br />

Indicate some important topic areas such as information systems, database<br />

systems and, data modeling<br />

Contrast <strong>the</strong> meanings between data, information, and knowledge<br />

Bachelor <strong>of</strong> Science in Computer Engineering 63


Faculty <strong>of</strong> Technology<br />

Describe a database system and its components<br />

Mention <strong>the</strong> use <strong>of</strong> database query languages<br />

Describe <strong>the</strong> meaning and purpose <strong>of</strong> a data model<br />

Explore some additional resources associated with database systems<br />

Explain <strong>the</strong> purpose and role <strong>of</strong> database systems in computer engineering<br />

2. Fundamentals <strong>of</strong> Database Systems<br />

Components <strong>of</strong> database systems; problem <strong>of</strong> <strong>the</strong> accuracy <strong>of</strong> information<br />

Database management system (DBMS) functions: <strong>the</strong> different possibilities<br />

and <strong>the</strong> role <strong>the</strong>y play in a database system<br />

Database architectures: <strong>the</strong> possibilities, <strong>the</strong> concept <strong>of</strong>, <strong>the</strong> importance <strong>of</strong><br />

and <strong>the</strong> reality <strong>of</strong> data independence<br />

Use <strong>of</strong> a database query language<br />

3. Data Modeling<br />

Data modeling: <strong>the</strong> role <strong>of</strong> this, <strong>the</strong> benefits it brings and <strong>the</strong> common<br />

approaches; conceptual data model, physical data model, and<br />

representational data model<br />

Basic concepts: to include key, foreign key, record, relation<br />

Conceptual models: possibilities, entity-relationship model and UML;<br />

strengths and weaknesses; notational issues<br />

Object-oriented model: <strong>the</strong> main concepts and object identity, type<br />

constructors, encapsulation, inheritance, polymorphism, and versioning;<br />

basic approaches<br />

Relational data model: basic terminology, basic approaches, strengths and<br />

weaknesses<br />

4. Relational Databases<br />

Concepts <strong>of</strong> conceptual schema and relational schema: uses, comparisons,<br />

mapping conceptual schema to relational schema<br />

Entity integrity constraint and referential integrity constraint; definitions,<br />

uses<br />

Relational algebra and relational calculus<br />

Relational algebra operations from ma<strong>the</strong>matical set <strong>the</strong>ory (union,<br />

intersection, difference, and Cartesian product) contrasted with <strong>the</strong><br />

relational algebra operations developed specifically for relational databases<br />

(select, product, join, and division).<br />

5. Database Query Languages<br />

Overview <strong>of</strong> database languages<br />

Structured query language (SQL): fundamental concepts including data<br />

definition, query formulation, update sub-language, constraints, integrity<br />

Query processing strategies; query optimization<br />

Query by example and 4th-generation environments<br />

Embedding non-procedural queries in a procedural language<br />

Introduction to object query language<br />

6. Relational Database Design<br />

<br />

<br />

Database design<br />

The concept <strong>of</strong> functional dependency<br />

Bachelor <strong>of</strong> Science in Computer Engineering 64


Faculty <strong>of</strong> Technology<br />

Normal forms: first, second, third and Boyce-Codd normal forms;<br />

motivation for each <strong>of</strong> <strong>the</strong>se, applicability; mechanisms for producing <strong>the</strong>se<br />

normal forms<br />

Multi-valued dependency: fourth normal form; join dependency; fifth<br />

normal form<br />

Representation <strong>the</strong>ory<br />

7. Transaction Processing<br />

Transactions: <strong>the</strong> purpose and <strong>the</strong> nature <strong>of</strong> transactions; creating a<br />

transaction using SQL; characteristics <strong>of</strong> efficient transaction execution;<br />

concept <strong>of</strong> commit<br />

Failure and recovery: <strong>the</strong> differing possibilities, <strong>the</strong>ir strengths and<br />

weaknesses<br />

Concurrency control: <strong>the</strong> special problems introduced by concurrency; <strong>the</strong><br />

solution to <strong>the</strong>se problems; isolation levels and <strong>the</strong>ir effects<br />

8. Distributed Databases<br />

Advantages <strong>of</strong>fered by <strong>the</strong> introduction <strong>of</strong> distribution: <strong>the</strong> problems<br />

introduced<br />

Distributed data storage: techniques used for data fragmentation,<br />

replication, and allocation during <strong>the</strong> distributed database design process<br />

Distributed query processing: strategies for executing distributed queries<br />

Distributed transaction model<br />

Concurrency control: <strong>the</strong> different approaches including those based on <strong>the</strong><br />

distinguished copy techniques and <strong>the</strong> voting method<br />

Homogeneous and heterogeneous solutions<br />

The client-server approach<br />

9. Physical Database Design<br />

Storage requirements for a range <strong>of</strong> data including characters, numbers,<br />

strings, text, sound, video and file structure<br />

Characteristics <strong>of</strong> storage to support a range <strong>of</strong> databases including use <strong>of</strong><br />

CDs, memory in machines <strong>of</strong> different kinds; nature <strong>of</strong> <strong>the</strong> storage systems<br />

involved and <strong>the</strong> factors influencing choice<br />

Records and record types; fixed length and variable length; storage<br />

organization<br />

Files <strong>of</strong> different kinds and file structures: sequential files, indexed files,<br />

hashed files; signature files; files with dense index<br />

B-trees; definition, use in particular in implementing dynamic multi-level<br />

indices<br />

Data compression: reasons for using this, compression algorithms,<br />

strengths and weaknesses <strong>of</strong> each approach; s<strong>of</strong>tware support<br />

Database efficiency and tuning: performance measures, monitoring<br />

performance<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> student will be able to:<br />

<br />

Identify some contributors to database systems and relate <strong>the</strong>ir achievements to<br />

<strong>the</strong> knowledge area, explain how knowledge differs from information and data,<br />

and describe how computer engineering uses or benefits from database systems<br />

and information management.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 65


Faculty <strong>of</strong> Technology<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Explain <strong>the</strong> characteristics that distinguish <strong>the</strong> database approach from <strong>the</strong><br />

traditional approach <strong>of</strong> programming with data files, cite <strong>the</strong> basic goals,<br />

functions, models, components, applications, and social impact <strong>of</strong> data<br />

management systems, describe <strong>the</strong> components <strong>of</strong> a database system and give<br />

examples <strong>of</strong> <strong>the</strong>ir use and use a query language to elicit information from a<br />

database.<br />

Categorize data models based on <strong>the</strong> types <strong>of</strong> concepts that <strong>the</strong>y provide to<br />

describe <strong>the</strong> database structure and compare and contrast <strong>the</strong> basic principles <strong>of</strong><br />

<strong>the</strong> relational data model and those <strong>of</strong> <strong>the</strong> object-oriented model as <strong>the</strong>y apply to<br />

computer engineering applications.<br />

Prepare a relational schema from a conceptual model developed using <strong>the</strong> entityrelationship<br />

model, explain and demonstrate <strong>the</strong> concepts <strong>of</strong> entity integrity<br />

constraint and referential integrity constraint and demonstrate <strong>the</strong> successful<br />

formulation <strong>of</strong> queries in <strong>the</strong> relational algebra and queries in <strong>the</strong> tuple relational<br />

calculus.<br />

Create a relational database schema in SQL that incorporates key, entity<br />

integrity, and referential integrity constraints; demonstrate data definition in SQL<br />

and retrieving information from a database using <strong>the</strong> SQL SELECT statement,<br />

evaluate a set <strong>of</strong> query processing strategies and select <strong>the</strong> optimal strategy, and<br />

demonstrate <strong>the</strong> ability to embed object-oriented queries into an appropriate<br />

stand-alone programming language<br />

Determine <strong>the</strong> functional dependency between two or more attributes that are a<br />

subset <strong>of</strong> a relation, demonstrate <strong>the</strong> ability to transform a relation into a<br />

prescribed normal form, explain <strong>the</strong> impact <strong>of</strong> normalization on <strong>the</strong> efficiency <strong>of</strong><br />

database operations and query optimization and describe a multi-valued<br />

dependency and <strong>the</strong> type <strong>of</strong> constraints it specifies.<br />

Explain <strong>the</strong> purpose <strong>of</strong> rollback and <strong>the</strong> way logging assures that proper rollback<br />

takes place; outline <strong>the</strong> special problems arising from <strong>the</strong> use <strong>of</strong> concurrency and<br />

<strong>the</strong> effect <strong>of</strong> effect <strong>of</strong> different isolation levels on <strong>the</strong> concurrency control<br />

mechanisms, and demonstrate <strong>the</strong> ability to apply suitable ideas on failure and<br />

recovery to an application taken from computer engineering.<br />

Evaluate simple strategies for executing a distributed query to select <strong>the</strong> strategy<br />

that minimizes <strong>the</strong> amount <strong>of</strong> data transfer, Explain how to use <strong>the</strong> two-phase<br />

commit protocol to deal with committing a transaction that accesses databases<br />

stored on multiple nodes, and compare and contrast <strong>the</strong> different approaches to<br />

distributed concurrency control.<br />

Cite examples <strong>of</strong> <strong>the</strong> application <strong>of</strong> primary, secondary, and clustering indexes,<br />

explain <strong>the</strong> <strong>the</strong>ory and application <strong>of</strong> internal and external hashing techniques and<br />

its use in facilitating dynamic file expansion, describe <strong>the</strong> relationships among<br />

hashing, compression, and efficient database searches and explain how physical<br />

database design affects database transaction efficiency.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 66


Faculty <strong>of</strong> Technology<br />

Recommended and Reference Books<br />

[1] Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom, 2008. Database<br />

Systems: The Complete Book (DS:CB), 2 nd Edition , Prentice Hall, ISBN-10:<br />

0130319953, ISBN-13: 9780130319951<br />

[2] Jeffrey D. Ullman, Jennifer Widom, 2007. A First Course in Database Systems.<br />

Prentice Hall, ISBN 013600637X<br />

[3] Rebecca Riordan, 2005. Designing Effective Database Systems. Addison-<br />

Wesley ISBN 0321290933.<br />

[4] Thomas M. Connolly, and Carolyn E. Begg, 2004. Database Systems: A<br />

Practical Approach to Design, Implementation. Addison-Wesley, ISBN<br />

0321294017<br />

CMP3103: Computer Games Development<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

Computer games provide a contemporary gaming and entertainment platform as well<br />

as stimulating <strong>the</strong> mind <strong>of</strong> <strong>the</strong> developer toward high level <strong>of</strong> creativity. It is <strong>the</strong>refore<br />

imperative for <strong>the</strong> computer engineering student to be abreast with <strong>the</strong> fundamentals <strong>of</strong><br />

computer games development. Using a comprehensive and analytical approach to<br />

game engine architectures, this is course designed to <strong>of</strong>fer students <strong>the</strong> opportunity to<br />

learn <strong>the</strong> effective implementation game ideas, algorithms and graphics.<br />

Objectives<br />

The objectives <strong>of</strong> <strong>the</strong> Computer Games Development course are to:<br />

<br />

<br />

<br />

<br />

<br />

Provide students with <strong>the</strong> core programming language skills necessary for game<br />

development.<br />

Provide students with a thorough understanding <strong>of</strong> <strong>the</strong> main concepts involved in<br />

real-time 3D graphics programming.<br />

Provide students with a fuller understanding <strong>of</strong> current and emerging digital<br />

entertainment systems technologies<br />

Facilitate students in <strong>the</strong> development <strong>of</strong> expertise and interest in topic areas <strong>of</strong><br />

digital entertainment systems<br />

Provide students with an understanding <strong>of</strong> current digital entertainment systems<br />

research issues<br />

Fur<strong>the</strong>r develop students’ analytical, creative, problem‐ solving and research<br />

skills<br />

Course Content<br />

1. C++ Programming for Game Developers<br />

Template Classes and Template Functions<br />

Error Handling<br />

<br />

Number Systems, Data Representations, and Bit Operations<br />

Bachelor <strong>of</strong> Science in Computer Engineering 67


Faculty <strong>of</strong> Technology<br />

<br />

<br />

<br />

<br />

<br />

<br />

The Standard Template Library<br />

Introduction to Windows Programming<br />

Menus and Drawing with GDI<br />

Dialog Boxes<br />

Timing, Animation, and Sprites<br />

Designing and Implementing a 2D Game<br />

2. Graphics Programming with DirectX<br />

3D Ma<strong>the</strong>matics<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

The Transformation and Lighting Pipeline<br />

Initializing Direct3D<br />

Vertex and Index Buffers<br />

Single and MultiTexture Effects<br />

Camera Management Systems<br />

Compressed Textures<br />

Texturing & <strong>the</strong> Texture Blending Cascade<br />

Alpha Blending<br />

Loading GILES Scenes<br />

The D3DX Mesh Containers<br />

Progressive Meshes<br />

Scene Hierarchies<br />

Keyframe Animation<br />

Indexed / Non-Indexed Vertex Blending<br />

S<strong>of</strong>tware and Hardware Skinning Techniques<br />

Skeletal Animation<br />

Tree Animation and Rendering<br />

X Files<br />

Motion Blending<br />

Collision Detection and Response<br />

Quadtrees, Octrees, and kD-Trees<br />

Binary Space Partitioning (BSP) Trees and Potential Visibility Sets (PVS)<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> student should be able to:<br />

Implement a game algorithm using C++.<br />

<br />

<br />

<br />

Write a game script<br />

implement game graphics, animations and voicing using state-<strong>of</strong>-<strong>the</strong>-art tools<br />

and technologies<br />

demonstrate a firm understanding <strong>of</strong> current digital entertainment systems<br />

research issues<br />

Bachelor <strong>of</strong> Science in Computer Engineering 68


Faculty <strong>of</strong> Technology<br />

Recommended and Reference Book<br />

[1] Michael Dawson, 2004. Beginning C++ Game Programming (Game<br />

Development Series. Course Technology PTR; 1 edition. ISBN-10:<br />

1592002056,ISBN-13: 978-1592002054<br />

[2] Frank D. Luna, 2003. Introduction to 3D Game Programming with DirectX 9<br />

(Wordware Game and Graphics Library. Wordware Publishing, Inc.; 400<br />

edition. ISBN-10: 155622913, ISBN-13: 978-1556229138<br />

CMP3104: Computer Based Medical Systems<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

This course aims to prepare life scientists and engineers for <strong>the</strong> electronic age in<br />

healthcare. It is expected to fill a major gap in healthcare management, namely <strong>the</strong><br />

management <strong>of</strong> biomedical technologies and emerging e-health applications. Students<br />

will acquire <strong>the</strong> necessary skills to integrate biomedical, information and<br />

communication technologies in order to enhance <strong>the</strong> existing healthcare processes and<br />

conform to international standards.<br />

Objectives<br />

By covering <strong>the</strong> course in Computer Based Medical Systems, <strong>the</strong> student will be well<br />

versed with <strong>the</strong> fundamentals <strong>of</strong>:<br />

Procurement, calibration and management <strong>of</strong> biomedical technologies:<br />

compliance with ISO-9000 and JCI standards, establishment and management<br />

<strong>of</strong> clinical engineering units.<br />

<br />

Systems integration <strong>of</strong> biomedical, information and communication technologies<br />

for developing hospital information systems, picture archival and<br />

communication systems, special departmental systems and e-health applications<br />

involving communication technologies and medical equipment, medical<br />

s<strong>of</strong>tware and e-health systems development.<br />

Design <strong>of</strong> clinical trials, database development, design <strong>of</strong> data entry procedures<br />

and statistical analysis <strong>of</strong> clinical data.<br />

Subject Content<br />

1. Health Regulations and Standards<br />

JCAHO Accreditation Standards<br />

<br />

<br />

<br />

<br />

<br />

ISO 9000 Quality Standards<br />

NFPA 99 standards for healthcare facilities<br />

Guidelines for <strong>the</strong> design and construction <strong>of</strong> hospitals and healthcare<br />

facilities<br />

Overview <strong>of</strong> Ugandan standardization in <strong>the</strong> healthcare sector<br />

Medical devices regulatory system in Uganda<br />

Bachelor <strong>of</strong> Science in Computer Engineering 69


Faculty <strong>of</strong> Technology<br />

2. Design <strong>of</strong> Clinical Trials<br />

Formulating and testing a hypo<strong>the</strong>sis;<br />

New chemical entity cycle;<br />

<br />

<br />

<br />

Overview <strong>of</strong> ICH (International Conference on Harmonization), GCP<br />

(Good Clinical Practice)<br />

analysis and design <strong>of</strong> a protocol, CRF (Case Report Form) and a complete<br />

trial, comparative review <strong>of</strong> laws, directives and conventions, ethical<br />

standards about clinical trials<br />

SOPs (Standard Operating Procedure), conducting, monitoring and<br />

auditing clinical trial processes; data management, reporting and<br />

documentation.<br />

3. Medical Informatics<br />

Overview <strong>of</strong> health information systems<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Medical language, coding and classification systems<br />

Computer based patient records<br />

Hospital information systems, technical choices, information systems in<br />

clinical departments<br />

Clinical support systems, nursing information systems, and health<br />

information resources<br />

Fundamentals <strong>of</strong> epidemiology, quality management fundamentals, and<br />

medical decision support systems<br />

Biomedical signal analysis<br />

Medical imaging<br />

Human-computer interfaces in healthcare<br />

Costs and benefits <strong>of</strong> information systems,<br />

Security in medical information systems;<br />

Standards for medical informatics<br />

4. Data Mining for Healthcare<br />

Data mining algorithms; association rules, predictive modeling,<br />

classification, clustering<br />

Data mining in healthcare, privacy, security handling, data access from<br />

distributed databases, data integration from multiple healthcare institutions<br />

and data mining for decision making.<br />

Case studies for hospital administrators, for clinicians and for medical<br />

researchers.<br />

5. Clinical Decision Support Systems<br />

Development and evaluation <strong>of</strong> clinical diagnostic decision support systems<br />

Legal and ethical issues<br />

Ma<strong>the</strong>matical foundations <strong>of</strong> decision support systems<br />

Applications <strong>of</strong> clinical diagnostic decision support systems.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 70


Faculty <strong>of</strong> Technology<br />

6. Medical Imaging Systems and PACS<br />

Principles <strong>of</strong> radiological imaging<br />

Projection radiography<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Digital radiography<br />

Tomography<br />

Magnetic resonance imaging<br />

Nuclear medicine imaging<br />

Ultrasound and microscopic imaging<br />

Picture archiving and communication systems (PACS<br />

Basic image processing methods, image compression and computer assisted<br />

diagnosis.<br />

Hospital Information Systems (HIS) and Radiology Information Systems<br />

(RIS)<br />

PACS data management, telemedicine and Teleradiology<br />

Recommended and Reference Books<br />

[1] Institute <strong>of</strong> Medicine (U.S.). Committee on Improving <strong>the</strong> Patient Record,<br />

Richard S. Dick, Elaine B. Steen The Computer-based Patient Record: An<br />

Essential Technology for Healthcare. National Academy Press (1991) - ISBN<br />

0309044952<br />

[2] Katharina Kaiser, Silvia Miksch, Samson W. Tu. Computer-based Support for<br />

Clinical Guidelines and Protocols. IOS Press (2004) - ISBN 158603412X<br />

ELE3103: Applied Analogue Electronics<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

This course assumes that <strong>the</strong> student has knowledge <strong>of</strong> <strong>the</strong> bipolar junction transistor<br />

(BJT). Thus, concept <strong>of</strong> BJT is covered in <strong>the</strong> first lesson <strong>of</strong> <strong>the</strong> course. The first<br />

lesson is designed to give an overview <strong>of</strong> <strong>the</strong> analysis methods for analog electronics.<br />

Objectives<br />

Having undertaken this course <strong>the</strong> student should be able to:<br />

<br />

Understand <strong>the</strong> differences between <strong>the</strong> main type <strong>of</strong> semiconductor device and<br />

understand <strong>the</strong>ir main applications;<br />

Understand <strong>the</strong> basic principles <strong>of</strong> some fundamental analogue circuits;<br />

Design simple analogue circuits using semiconductor devices<br />

Subject Content<br />

1. Overview <strong>of</strong> Analog Circuit Analysis<br />

The four types <strong>of</strong> electronic circuits and signals (digital, large signal analog,<br />

small signal analog and mixed) are shown. A key concept used throughout <strong>the</strong><br />

course, <strong>the</strong> small signal linear model, is introduced. The characteristics and<br />

regions <strong>of</strong> operation <strong>of</strong> <strong>the</strong> BJT and its DC and ac models are presented,<br />

along with <strong>the</strong> DC analysis <strong>of</strong> basic PNP and NPN BJT circuits. A simple<br />

Bachelor <strong>of</strong> Science in Computer Engineering 71


Faculty <strong>of</strong> Technology<br />

amplifier circuit is used to emphasize: a) <strong>the</strong> use <strong>of</strong> <strong>the</strong> small signal model to<br />

find <strong>the</strong> gain and phase relationship <strong>of</strong> <strong>the</strong> output to <strong>the</strong> input signal; b)<br />

superposition <strong>of</strong> small ac signals with DC bias voltage; and c) coupling<br />

capacitors used for isolation <strong>of</strong> <strong>the</strong> signal source from DC biasing. Using <strong>the</strong><br />

general model <strong>of</strong> a small signal amplifier, <strong>the</strong> effect <strong>of</strong> <strong>the</strong> signal source internal<br />

resistance and load resistances on <strong>the</strong> overall gain <strong>of</strong> amplifier circuits is shown.<br />

A review <strong>of</strong> basic circuit analysis techniques including current division, voltage<br />

division, potential difference, node analysis and current and voltage sources<br />

from <strong>the</strong> point <strong>of</strong> view <strong>of</strong> I/V characteristics is given if necessary.<br />

2. Concepts <strong>of</strong> Input and Output Impedance, and Voltage Gain and Phase<br />

for Single-stage Amplifiers.<br />

The five basic equations for <strong>the</strong> impedance looking into <strong>the</strong> 3 terminals <strong>of</strong> BJT<br />

and MOSFET transistors, replaced by <strong>the</strong>ir small signal models, are derived<br />

using <strong>the</strong> v IN<br />

/i IN<br />

method. The six basic transistor circuit configurations (common<br />

source CS, common gate CG, and common drain CD for FET circuits;<br />

common emitter CE, common collector CC, and common base CB for BJT<br />

circuits) are introduced.<br />

3. DC and Small Signal Analysis <strong>of</strong> CE, CC, and CB Single Stage BJT<br />

Amplifiers.<br />

The DC bias or quiescent point (Q-Point) analysis for a BJT amplifier is<br />

reviewed and practiced. The impedance results from <strong>the</strong> v IN<br />

/i IN<br />

method are used<br />

to find <strong>the</strong> input impedance, output impedance, and signal gain <strong>of</strong> <strong>the</strong> three<br />

different types <strong>of</strong> BJT amplifiers (CE, CC and CB) using <strong>the</strong> impedance<br />

equations derived in lesson 2. The "input impedance" analysis method for a<br />

single stage CE BJT amplifier is compared with <strong>the</strong> classical "plug-in model"<br />

method. The basic concepts learned in lessons one and two are practiced and<br />

reinforced by finding <strong>the</strong> voltage gain <strong>of</strong> single stage amplifiers. A graphical<br />

presentation <strong>of</strong> how signal distortion is related to <strong>the</strong> Q point location is<br />

presented.<br />

4. DC and Small Signal Analysis <strong>of</strong> FET Amplifiers.<br />

The methods for finding <strong>the</strong> voltage gain and input and output impedance for<br />

<strong>the</strong> CS, CD, and CG FET amplifiers are presented. Emphasis is placed on using<br />

impedance concepts to find <strong>the</strong> voltage gain as well as <strong>the</strong> input and output<br />

impedance <strong>of</strong> amplifiers, without drawing <strong>the</strong> circuit models. The principles for<br />

setting <strong>the</strong> DC Q-point <strong>of</strong> an FET amplifier to meet small signal voltage gain<br />

specs are illustrated by a design example. The principles <strong>of</strong> <strong>the</strong> previous lessons<br />

are exercised by solving FET and BJT single stage amplifier problems.<br />

5. Review <strong>of</strong> <strong>the</strong> Single Stage BJT Amplifiers; Design <strong>of</strong> Single Stage BJT and<br />

FET Differential Amplifiers with Low Output Impedance and High Input<br />

Impedance.<br />

The basic single stage differential amplifier, with emphasis on its discrimination<br />

against external noise, is introduced. The principles for <strong>the</strong> differential mode<br />

(DM) and common mode (CM) signal analysis <strong>of</strong> both BJT and FET<br />

differential amplifiers are presented. The origin <strong>of</strong> internal noise due to <strong>the</strong><br />

random motion <strong>of</strong> charge in electronic circuits is presented, including basic<br />

concepts as Johnson, shot and flicker noise, dependence on <strong>the</strong> bandwidth, and<br />

signal to noise power ratio (SNR) equations are introduced.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 72


Faculty <strong>of</strong> Technology<br />

6. Differential and Common Mode Analysis <strong>of</strong> Multistage Differential<br />

Amplifiers and <strong>the</strong> Common Mode Rejection Ratio.<br />

The virtual ground concept for <strong>the</strong> differential mode analysis is derived. The<br />

principles for analysis <strong>of</strong> multistage amplifiers using impedance concepts are<br />

emphasized. DC and small signal analyses methods for FET and BJT<br />

differential amplifiers with current source bias are studied. Basic DC current<br />

source circuits are introduced<br />

7. Design <strong>of</strong> Current Sources and Three-stage CMOS Differential Amplifiers<br />

with Active P-channel Loads.<br />

Basic current mirror circuits in integrated circuit (IC) amplifiers are studied<br />

fur<strong>the</strong>r from both DC and small signal view-<strong>of</strong>-points. Small signal analyses <strong>of</strong><br />

classical multi-transistor current sources are done to review <strong>the</strong> method <strong>of</strong><br />

finding output impedance and to show that <strong>the</strong>se circuits can increase <strong>the</strong><br />

output resistance and also improve <strong>the</strong> R OUT<br />

I OUT<br />

figure <strong>of</strong> merit for current<br />

sources. The method <strong>of</strong> suppressing common mode gain in CMOS Differential<br />

Amplifiers using P-channel current mirror loads is studied. Finding <strong>the</strong> voltage<br />

gain <strong>of</strong> three stage CMOS Differential Amplifiers by inspection is practiced.<br />

8. Low and High Frequency Analysis <strong>of</strong> Single and Multistage Amplifiers.<br />

The fundamentals <strong>of</strong> <strong>the</strong> frequency and time response <strong>of</strong> RC circuits and Bode<br />

phase and gain plots, including <strong>the</strong> ma<strong>the</strong>matics background, are reviewed. The<br />

short circuit time constant (SCTC) method for obtaining <strong>the</strong> low cut<strong>of</strong>f<br />

frequency <strong>of</strong> amplifiers is explained. Circuit problems exercising this method<br />

for <strong>the</strong> different configurations <strong>of</strong> single-stage amplifiers are solved. The high<br />

frequency models for <strong>the</strong> FET and BJT are presented along with gainbandwidth<br />

limitations. The high frequency response <strong>of</strong> common base, common<br />

gate, common collector, and common drain amplifiers (obtained by <strong>the</strong> open<br />

circuit time constant (OCTC) method) are compared. The Miller effect is<br />

derived and applied to <strong>the</strong> frequency response analysis <strong>of</strong> basic amplifier<br />

circuits.<br />

9. Analysis and Design <strong>of</strong> Multi-stage BJT and FET Circuits with Feedback<br />

Circuits with feedback to improve input and output impedance, noise<br />

suppression, frequency response, gain stability, and nonlinear distortion are<br />

studied, along with methods to find <strong>the</strong> loop gain are studied. The classical<br />

feedback <strong>the</strong>ory using amplifier and feedback “boxes” is briefly discussed. The<br />

frequency response <strong>of</strong> common base, common gate, common collector, and<br />

common drain amplifiers are compared. The trade<strong>of</strong>fs between frequency<br />

response, gain, and input impedance and o<strong>the</strong>r parameters are emphasized.<br />

10. Small Signal Parameters and Methods for Large Signal Analysis<br />

The concept <strong>of</strong> small signal parameters (z, y, h, and g) for analysis <strong>of</strong> two port<br />

electronic systems with <strong>the</strong> different feedback configurations (series-series,<br />

shunt-series, shunt-shunt, and series-shunt) is presented. The essential concepts<br />

and applications <strong>of</strong> two-port parameters for feedback systems and device<br />

characterization are listed. The graphical approach for large signal analysis <strong>of</strong><br />

electronic circuits, as illustrated by analysis <strong>of</strong> <strong>the</strong> push-pull output stage <strong>of</strong><br />

operational amplifier, is studied. There is at least one hour allocated to review<br />

for <strong>the</strong> final exam<br />

Bachelor <strong>of</strong> Science in Computer Engineering 73


Faculty <strong>of</strong> Technology<br />

Recommended and Reference Books<br />

[1] R. C. Jaeger, Microelectronic Circuit Design, McGraw-Hill, New York, 1996;<br />

[2] A. S. Sedra and K. C. Smith, Microelectronic Circuits, Oxford University<br />

Press, New York, 1998<br />

EMT3202: Partial Differential Equations<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 00 15 60 100 60 40 4<br />

Rationale<br />

EMT1201 Engineering Ma<strong>the</strong>matics II introduced Differential Equation and Solution<br />

Techniques for ODEs with Exact Solutions in terms <strong>of</strong> Elementary Functions<br />

(Algebraic, Trigonometric, Exponential, Logarithmic and Hyperbolic Functions) and<br />

EMT2101 Engineering Ma<strong>the</strong>matics III Introduced <strong>the</strong> Power Series Solutions to<br />

ODEs, it was appreciated that <strong>the</strong> analysis <strong>of</strong> Engineering Systems containing lumped<br />

parameters <strong>of</strong>ten leads to ODEs in which time is <strong>the</strong> only independent variable.<br />

However, <strong>the</strong> assumption that all masses exit as conceptualized mass points; that all<br />

springs are weightless; or that elements <strong>of</strong> an electric circuit are concentrated in idea<br />

resistors, capacitors, and inductors, ra<strong>the</strong>r than continuously distributed, is frequently<br />

not sufficiently accurate. In such cases, a more realistic approach must take into<br />

account <strong>the</strong> fact that <strong>the</strong> independent variables depend not only on time but also on one<br />

or more space variables. With more than one independent variable manifested, <strong>the</strong><br />

formulation <strong>of</strong> such problems leads to Partial, ra<strong>the</strong>r than Ordinary, Differential<br />

Equations. This course introduces <strong>the</strong> Course Participant to <strong>the</strong> Concept <strong>of</strong> Partial<br />

Differential Equations (PDEs).<br />

Objectives<br />

<br />

An important emphasis <strong>of</strong> <strong>the</strong> course is to develop problem solving skills and<br />

pro<strong>of</strong> skills by working on specific problems in which it is natural to look at<br />

special or simpler cases in order to try to discover patterns. An integral part <strong>of</strong><br />

<strong>the</strong> process <strong>of</strong> ma<strong>the</strong>matical thinking is to wander into blind alleys, sometimes<br />

being frustrated, before ultimately obtaining a solution or pro<strong>of</strong>. In this process<br />

ma<strong>the</strong>matical scientists <strong>of</strong>ten work toge<strong>the</strong>r with colleagues, and this group<br />

work and sharing <strong>of</strong> ideas <strong>of</strong>ten adds great value to a ma<strong>the</strong>matical<br />

investigation.<br />

<br />

A major goal <strong>of</strong> <strong>the</strong> course is to give a balanced introductory treatment <strong>of</strong> <strong>the</strong><br />

area <strong>of</strong> PDE so that a student appreciates <strong>the</strong> power <strong>of</strong> PDE modeling; and is<br />

aware <strong>of</strong> major techniques for <strong>the</strong>ir solution. The focus <strong>of</strong> <strong>the</strong> course is on<br />

analytical techniques for <strong>the</strong> classical linear PDE <strong>of</strong> physics and engineering<br />

(heat, wave and Laplace equations), and <strong>the</strong>ir frequent occurrence in<br />

applications.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 74


Faculty <strong>of</strong> Technology<br />

Subject Content<br />

1. Definition <strong>of</strong> a Partial Differential Equation<br />

2. Derivation <strong>of</strong> Some Typical PDEs <strong>of</strong> Ma<strong>the</strong>matical Physics<br />

The One-Dimensional Wave Equation (Vibrating String)<br />

The One-Dimensional Heat Conduction Equation<br />

The Telegraph or Transmission Line Equation<br />

The Two-Dimensional Wave Equation (Vibrating Membrane)<br />

The Two-Dimensional Heat Conduction Equation<br />

The Three-Dimensional Heat Conduction Equation<br />

3. Classification <strong>of</strong> Partial Differential Equations<br />

Homogeneous and Non Homogeneous PDE’s<br />

Linear and Non-Linear PDE’s<br />

N-Order PDE’s<br />

Parabolic, Elliptic and Hyperbolic PDE’s<br />

4. Classification <strong>of</strong> Boundary Conditions to PDE’s<br />

Homogeneous and Non Homogeneous BC’s<br />

Linear and Non-Linear BC’s<br />

Dirichlet BC’s<br />

Neumann BC’s<br />

Robin BC’s<br />

Cauchy BC’s<br />

5. Overview <strong>of</strong> Methods <strong>of</strong> Solving Boundary Value Problems<br />

6. Solutions <strong>of</strong> Boundary Value Problems Using <strong>the</strong> Method <strong>of</strong> Separation <strong>of</strong> Variables<br />

2nd Order Linear and Homogeneous BVP’s with Period BC’s<br />

Use <strong>of</strong> Fourier Series in <strong>the</strong> Solution <strong>of</strong> 2nd Order Linear and Homogeneous<br />

Dirichlet and Neumann BVP’s<br />

Solution <strong>of</strong> Non-Homogeneous BVP’s<br />

Direct Originality with Mixed BVP’s<br />

The Cauchy BVP’s<br />

Sturm-Liouville Problems<br />

7. Use <strong>of</strong> Laplace Transforms in Solving PDEs<br />

8. FDM Solutions <strong>of</strong> Boundary Value Problems involving PDEs<br />

Parabolic BVP’s<br />

Elliptic BVP’s<br />

Hyperbolic BVP’s<br />

Use <strong>of</strong> MATLAB in <strong>the</strong> Solution <strong>of</strong> PDE’s<br />

Recommended and Reference Books<br />

[1] Clarence Raymond Wylie and Louis C. Barrett, 1995. Advanced Engineering<br />

Ma<strong>the</strong>matics. 6 th Ed. International Edition. McGraw-Hill, N. Y. US<br />

[2] Erwin Kreyszig, 1999. Advanced Engineering Ma<strong>the</strong>matics. 8 th Edition. John<br />

Wiley & Sons, INC. New York<br />

[3] Murray R. Spiegel, 1981. Applied Differential Equations. 3 rd Edition. Prentice-<br />

Hall, Inc., Englewood Cliffs, N.J. 07632<br />

[4] G. Stephenson, 1988. Ma<strong>the</strong>matical Methods for Science Students. 2 nd Edition.<br />

Longman Group UK<br />

[5] Thomas M. Creese and Robert M. Haralick, 1978. Differential Equations for<br />

Engineers. McGraw-Hill, N. Y. US<br />

Bachelor <strong>of</strong> Science in Computer Engineering 75


Faculty <strong>of</strong> Technology<br />

[6] L. R. Mustoe, 1988. Worked Examples in Advanced Engineering Ma<strong>the</strong>matics.<br />

John Wiley & Sons Ltd. Great Britain.<br />

CMP3201: Embedded Systems<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

Almost every electronic appliance and device today uses embedded systems. Cell<br />

phones, automobiles, toasters, televisions, airplanes, medical equipment, and a host <strong>of</strong><br />

o<strong>the</strong>r devices, products, and applications use embedded systems. Such systems include<br />

microcontrollers, embedded programs, and real-time operating systems. These systems<br />

require a conscious effort to produce <strong>the</strong> most reliable product possible requiring <strong>the</strong><br />

utmost diligence in system design and in design methodologies. Indeed, <strong>the</strong>se designs<br />

<strong>of</strong>ten reflect <strong>the</strong> design <strong>of</strong> low power systems and tool support.<br />

Objectives<br />

By covering <strong>the</strong> course in Embedded Systems, <strong>the</strong> student will be able to:<br />

<br />

<br />

<br />

<br />

<br />

<br />

Identify some contributors to embedded systems and relate <strong>the</strong>ir achievements to<br />

<strong>the</strong> knowledge area, describe <strong>the</strong> meaning <strong>of</strong> an embedded system, explain <strong>the</strong><br />

reasons for <strong>the</strong> importance <strong>of</strong> embedded systems, describe <strong>the</strong> relationship between<br />

programming languages and embedded systems and describe how computer<br />

engineering uses or benefits from embedded systems.<br />

Understand <strong>the</strong> CPU in <strong>the</strong> context <strong>of</strong> a complete system with I/O and memory,<br />

understand how <strong>the</strong> CPU talks to <strong>the</strong> outside world through devices, and<br />

understand how memory system design (caches, memory management) affect<br />

program design and performance.<br />

Understand how high-level language programs convert into executable code, know<br />

<strong>the</strong> capabilities and limits <strong>of</strong> compilers, and comprehend basic representations <strong>of</strong><br />

programs used to manipulate programs ei<strong>the</strong>r in a compiler or by hand.<br />

Distinguish RTOSs from workstation/server OS, distinguish real-time scheduling<br />

from traditional OS scheduling, understand major real-time scheduling policies and<br />

understand interprocess communication mechanisms.<br />

Understand why low-power computing is important, identify sources <strong>of</strong> energy<br />

consumption and identify possible remedies for energy consumption at various<br />

levels <strong>of</strong> design abstraction.<br />

Understand <strong>the</strong> variety <strong>of</strong> sources <strong>of</strong> faults in embedded computing systems,<br />

identify strategies to find problems and identify strategies to minimize <strong>the</strong> effects <strong>of</strong><br />

problems.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 76


Faculty <strong>of</strong> Technology<br />

<br />

<br />

Understand why real-world projects are not <strong>the</strong> same as class projects, identify<br />

important goals <strong>of</strong> <strong>the</strong> methodology and understand <strong>the</strong> importance <strong>of</strong> design<br />

tracking and documentation.<br />

Understand role <strong>of</strong> hardware and s<strong>of</strong>tware tools in system development and<br />

understand how to use tools to support <strong>the</strong> methodology.<br />

Understand <strong>the</strong> use <strong>of</strong> multiple processors in embedded systems, identify trade-<strong>of</strong>fs<br />

between CPUs and hardwired logic in multiprocessors, and understand basic design<br />

techniques.<br />

Subject Content<br />

1. History and Overview <strong>of</strong> Embedded<br />

Indicate some reasons for studying embedded systems<br />

Highlight some people that influenced or contributed to <strong>the</strong> area <strong>of</strong><br />

embedded systems<br />

Indicate some important topic areas such as mapping between language and<br />

hardware, classifications, influence <strong>of</strong> s<strong>of</strong>tware engineering, applications<br />

and techniques, and tool support<br />

Contrast between an embedded system and o<strong>the</strong>r computer systems<br />

Mention <strong>the</strong> role <strong>of</strong> programming and its associated languages as applied to<br />

embedded systems<br />

Explore some additional resources associated with embedded systems<br />

Explain <strong>the</strong> purpose and role <strong>of</strong> embedded systems in computer engineering<br />

2. Embedded Microcontrollers<br />

Structure <strong>of</strong> a basic computer system: CPU, memory, I/O devices on a bus<br />

CPU families used in microcontrollers: 4-bit, 8-bit, 16-32-bit<br />

Basic I/O devices: timers/counters, GPIO, A/D, D/A<br />

Polled I/O vs. interrupt-driven I/O<br />

Interrupt structures: vectored and prioritized interrupts<br />

DMA transfers<br />

Memory management units<br />

Memory hierarchies and caches<br />

3. Embedded Programs<br />

The program translation process: compilation, assembly, linking<br />

Representations <strong>of</strong> programs: data flow and control flow<br />

Fundamental concepts <strong>of</strong> assembly language and linking: labels, address<br />

management<br />

Compilation tasks: mapping variables to memory, managing data structures,<br />

translating control structures, and translating expressions<br />

What can and cannot be controlled through <strong>the</strong> compiler; when writing<br />

assembly language makes sense<br />

4. Real-Time Operating Systems<br />

Scheduling policies<br />

Rate-monotonic scheduling: <strong>the</strong>ory and practice<br />

Priority inversion<br />

O<strong>the</strong>r scheduling policies such as EDF<br />

Message-passing vs. shared memory communication<br />

Interprocess communication styles such as mailbox and RPC<br />

Bachelor <strong>of</strong> Science in Computer Engineering 77


Faculty <strong>of</strong> Technology<br />

5. Low-Power Computing<br />

Sources <strong>of</strong> energy consumption: toggling, leakage<br />

Instruction-level strategies for power management: function unit<br />

management<br />

Memory system power consumption: caches, <strong>of</strong>f-chip memory<br />

Power consumption with multiple processes<br />

System-level power management: deterministic, probabilistic methods<br />

6. Reliable System Design<br />

Transient vs. permanent failures in hardware<br />

Sources <strong>of</strong> errors from s<strong>of</strong>tware<br />

The role <strong>of</strong> design verification in reliable system design<br />

Fault-tolerance techniques<br />

Famous failures <strong>of</strong> embedded computers<br />

7. Design Methodologies<br />

Multi-person design projects<br />

Designing on-time and on-budget<br />

Design reviews<br />

Tracking error rates and sources<br />

Change management<br />

8. Tool Support<br />

Compilers and programming environments<br />

Logic analyzers<br />

RTOS tools<br />

Power analysis<br />

S<strong>of</strong>tware management tools<br />

Project management tools<br />

9. Embedded Multiprocessors<br />

Importance <strong>of</strong> multiprocessors as in performance, power, and cost<br />

Hardware/s<strong>of</strong>tware partitioning for single-bus systems<br />

More general architectures<br />

Platform FPGAs as multiprocessors<br />

10. Networked Embedded Systems<br />

Why networked embedded systems<br />

Example networked embedded systems: automobiles, factory automation<br />

systems<br />

The OSI reference model<br />

Types <strong>of</strong> network fabrics<br />

Network performance analysis<br />

Basic principles <strong>of</strong> <strong>the</strong> Internet protocol<br />

Internet-enabled embedded systems<br />

11. Interfacing and Mixed-Signal Systems<br />

Digital-to-analog conversion<br />

Analog-to-digital conversion<br />

How to partition analog/digital processing in interfaces<br />

Digital processing and real-time considerations<br />

Bachelor <strong>of</strong> Science in Computer Engineering 78


Faculty <strong>of</strong> Technology<br />

Recommended and Reference Books<br />

[1] Frank Vahid and Tony Givargis, 2002. Embedded System Design: A Unified<br />

Hardware/S<strong>of</strong>tware Introduction. John Wiley & Sons; ISBN: 0471386782.<br />

[2] Peter Marwedel, 2006. Embedded System Design. Birkhäuser, ISBN<br />

0387292373, 9780387292373<br />

[3] Arnold S. Berger, and Arnold S. Berger, 2001. Embedded Systems Design:<br />

An Introduction to Processes, Tools and Techniques. CMP Books; 1st edition.<br />

ISBN-10: 1578200733, ISBN-13: 978-1578200733<br />

[4] John Catsoulis, 2005. Designing Embedded Hardware. 2 nd Edition. O'Reilly<br />

Media, Inc. ISBN-10: 0596007558. ISBN-13: 978-0596007553.<br />

[5] Tammy Noergaard, 2005. Embedded Systems Architecture: A Comprehensive<br />

Guide for Engineers and Programmers. Newnes. ISBN-10: 0750677929.<br />

ISBN-13: 978-0750677929.<br />

CMP3202: Human Computer Interaction<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

The design and development <strong>of</strong> displays, alarms, and interfaces for small or large<br />

screens is an activity captured in <strong>the</strong> study <strong>of</strong> <strong>the</strong> human computer interface and in a<br />

study <strong>of</strong> human computer interaction. This discipline is increasingly s<strong>of</strong>tware based and<br />

design needs require guidance by insights from psychology and informed by an<br />

appreciation <strong>of</strong> human diversity including matters such as colored blindness and<br />

deafness; in <strong>the</strong>se circumstances, multimedia approaches <strong>of</strong>ten have a role to play. It is<br />

important to note that in certain applications <strong>the</strong>re are crucial requirements for<br />

reliability and o<strong>the</strong>r kinds <strong>of</strong> performance that have implications for matters such as<br />

safety and security. Emphasis is placed on understanding human reactions to displays<br />

<strong>of</strong> various kinds and on human behavior in <strong>the</strong> context <strong>of</strong> interactive objects. Based on<br />

<strong>the</strong>se, students need to understand <strong>the</strong> principles associated with <strong>the</strong> evaluation <strong>of</strong><br />

interfaces including those that embody interaction. Students need to know <strong>the</strong><br />

principles and guidelines that reflect best practice in <strong>the</strong> design, development, and<br />

maintenance <strong>of</strong> interfaces for multiple types <strong>of</strong> systems.<br />

Objectives<br />

By covering <strong>the</strong> course in Human Computer Interaction (HCI), <strong>the</strong> student will be able<br />

to:<br />

<br />

Identify some contributors to human-computer interaction and relate <strong>the</strong>ir<br />

achievements to <strong>the</strong> knowledge area, define HCI, explain <strong>the</strong> reasons for proper<br />

HCI designs in engineering, provide a good reason for having a small-screen<br />

graphical user interface, provide a good reason for having a large-screen graphical<br />

user interface, give an example on how one might evaluate an engineering design<br />

using some principles <strong>of</strong> HCI and describe how computer engineering uses or<br />

benefits from human-computer interaction.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 79


Faculty <strong>of</strong> Technology<br />

<br />

<br />

<br />

<br />

<br />

<br />

Develop a conceptual vocabulary for analyzing human interaction with s<strong>of</strong>tware: to<br />

include terms such as affordance, conceptual model, and feedback, summarize <strong>the</strong><br />

basic science <strong>of</strong> psychological and social interaction relevant to <strong>the</strong> development <strong>of</strong><br />

human computer interfaces, differentiate between <strong>the</strong> role <strong>of</strong> hypo<strong>the</strong>ses and<br />

experimental results recognizing <strong>the</strong> role <strong>of</strong> correlations, distinguish between <strong>the</strong><br />

different interpretations that a given icon, symbol, word, or color can have in (a)<br />

different human cultures and (b) in <strong>the</strong> context <strong>of</strong> human diversity, and create and<br />

conduct a simple usability test for an existing s<strong>of</strong>tware application, taking into<br />

account human diversity.<br />

Identify several fundamental principles for effective GUI design relevant for<br />

different applications in computer engineering, use a GUI toolkit to create a simple<br />

application that supports a graphical user interface, illustrate <strong>the</strong> effect <strong>of</strong><br />

fundamental design principles on <strong>the</strong> structure <strong>of</strong> a graphical user interface, and<br />

conduct a simple usability test for each instance and compare <strong>the</strong> results.<br />

Recognize contexts in which to deploy <strong>the</strong> various technologies associated with<br />

intelligent systems and demonstrate an awareness <strong>of</strong> <strong>the</strong> capabilities as well as <strong>the</strong><br />

limitations <strong>of</strong> <strong>the</strong> available techniques and technologies.<br />

For a range <strong>of</strong> contexts in which intelligent systems are deployed in a computer<br />

engineering context, identify <strong>the</strong> technical implications for devices, for computing<br />

power and for s<strong>of</strong>tware, identify <strong>the</strong> potential for <strong>the</strong> use <strong>of</strong> intelligent systems in a<br />

range <strong>of</strong> computer engineering equipment, discuss <strong>the</strong> pr<strong>of</strong>essional, legal and<br />

ethical implications <strong>of</strong> deploying intelligent systems in a range <strong>of</strong> computer<br />

engineering situations, describe situations from computer engineering applications<br />

when intelligent systems can be relied upon to deliver a required response, describe<br />

situations in which intelligent systems may or may not be reliable enough to deliver<br />

a required response, giving reasons for <strong>the</strong> answer, explain <strong>the</strong> necessity for<br />

heuristics in <strong>the</strong> general context <strong>of</strong> intelligent systems, and differentiate between <strong>the</strong><br />

concepts <strong>of</strong>: optimal reasoning and human-like reasoning; <strong>of</strong> optimal behavior and<br />

human-like behavior.<br />

Discuss <strong>the</strong> full range <strong>of</strong> evaluation criteria appropriate for one <strong>of</strong> a range <strong>of</strong><br />

computer engineering applications, conduct a walkthrough and a Keystroke Level<br />

Model analysis, summarize <strong>the</strong> features <strong>of</strong> <strong>the</strong> major guidelines and standards<br />

associated with human-centered s<strong>of</strong>tware evaluation, and evaluate one <strong>of</strong> a range<br />

<strong>of</strong> existing interactive system with appropriate human-centered criteria and<br />

usability, giving reasons for selection <strong>of</strong> techniques.<br />

Explain <strong>the</strong> basic types and features <strong>of</strong> human-centered s<strong>of</strong>tware development,<br />

indicate three functional and three usability requirements that may be useful in<br />

developing human-centered s<strong>of</strong>tware, specify an interactive object using one <strong>of</strong> <strong>the</strong><br />

common methods as well as appropriate standards or guidelines, and demonstrate<br />

<strong>the</strong> application <strong>of</strong> guidelines and fundamental principles in developing one <strong>of</strong> a<br />

range <strong>of</strong> possible computer engineering applications that rely on a human computer<br />

interface.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 80


Faculty <strong>of</strong> Technology<br />

<br />

<br />

Summarize common interaction styles, explain good design principles <strong>of</strong> each <strong>of</strong><br />

<strong>the</strong> following: common widgets; sequenced screen presentations; simple error-trap<br />

dialog; a user manual, design, prototype, and evaluate a simple 2D GUI, and<br />

discuss <strong>the</strong> challenges that exist in moving from 2D to 3D interaction.<br />

Compare <strong>the</strong> event-driven paradigm with more traditional procedural control for<br />

<strong>the</strong> user interface, identify common differences as well as similarities in crossplatform<br />

user interface design, and demonstrate an ability to outline an approach to<br />

interface design for a computer engineering application that utilizes an<br />

appropriately chosen selection <strong>of</strong> technologies from event management, widgets,<br />

geometry management, and GUI builders.<br />

Understand <strong>the</strong> nature <strong>of</strong> graphical design and implement a simple graphical<br />

activity using a standard s<strong>of</strong>tware package, appreciate <strong>the</strong> role <strong>of</strong> visualization<br />

technologies and demonstrate <strong>the</strong>m through <strong>the</strong> development <strong>of</strong> a simple<br />

application, appreciate <strong>the</strong> benefits <strong>of</strong> virtual reality and <strong>the</strong> nature <strong>of</strong> <strong>the</strong><br />

advantages this <strong>of</strong>fers, and demonstrate a simple application <strong>of</strong> computer vision<br />

technology in a computer engineering context.<br />

Select system components which are suitable for <strong>the</strong> realization <strong>of</strong> multi-media<br />

interfaces <strong>of</strong> high quality, and design and develop a multi-media interface for a<br />

simple computer engineering application.<br />

Subject Content<br />

1. History and Overview <strong>of</strong> HCI<br />

Indicate some reasons for studying human-computer interaction<br />

Highlight some people that influenced or contributed to <strong>the</strong> area <strong>of</strong> humancomputer<br />

interaction<br />

Indicate some important HCI considerations such as foundational elements,<br />

ergonomic designs, and graphical interfaces<br />

Contrast ways in which engineering design should reflect human interaction<br />

Mention some advantages <strong>of</strong> small-screen designs versus large-screen<br />

designs<br />

Describe how one would evaluate an engineering design vis-à-vis HCI<br />

compatibility<br />

Explore some additional resources associated with human-computer<br />

interaction<br />

Explain <strong>the</strong> purpose and role <strong>of</strong> human-computer interaction in computer<br />

engineering<br />

2. Foundations <strong>of</strong> Human-Computer Interaction<br />

Motivation: <strong>the</strong> importance <strong>of</strong> <strong>the</strong> human interface in computer<br />

engineering; issues <strong>of</strong> small screens and larger screens<br />

The range <strong>of</strong> possibilities: text-based systems, use <strong>of</strong> graphics, sound,<br />

animation, video; <strong>the</strong> possibilities <strong>of</strong> multimedia Strengths and weaknesses<br />

<strong>of</strong> individual approaches<br />

The web as an example <strong>of</strong> an interface<br />

<br />

<br />

Human-centered development and evaluation<br />

Human performance models: perception, movement, and cognition; culture,<br />

communication, and organizations<br />

Bachelor <strong>of</strong> Science in Computer Engineering 81


Faculty <strong>of</strong> Technology<br />

Accommodating human diversity; <strong>the</strong> role <strong>of</strong> multimedia<br />

Principles <strong>of</strong> good human computer interaction design in <strong>the</strong> context <strong>of</strong><br />

computer engineering; engineering trade<strong>of</strong>fs<br />

Introduction to usability testing<br />

The role <strong>of</strong> and use <strong>of</strong> a range <strong>of</strong> tools<br />

3. Graphical User Interface<br />

Illustrations <strong>of</strong> developments <strong>of</strong> graphical user interfaces including: textual<br />

displays; interfaces that include alarms; displays that exhibit motion;<br />

displays that exhibit interaction<br />

Principles <strong>of</strong> design using graphical user interfaces (GUIs); principles<br />

associated with interaction including fault tolerance<br />

GUI toolkits<br />

Principles associated with use <strong>of</strong> sound and multimedia in different<br />

contexts; use <strong>of</strong> relevant tools<br />

Principles <strong>of</strong> design for web interfaces; web interfaces for small screen and<br />

mobile devices<br />

Use <strong>of</strong> relevant tools<br />

4. I/O Technologies<br />

The range <strong>of</strong> technologies and techniques that can be deployed in intelligent<br />

systems: vision, speech processing, specialized sensors<br />

Technologies for location aware computing, <strong>the</strong> role <strong>of</strong> geographical<br />

positioning systems, o<strong>the</strong>r possibilities<br />

Overview <strong>of</strong> <strong>the</strong> technologies involved: <strong>the</strong>ir strengths and <strong>the</strong> limitations<br />

Availability <strong>of</strong> s<strong>of</strong>tware support and <strong>of</strong> relevant tools<br />

5. Intelligent Systems<br />

Illustrations <strong>of</strong> <strong>the</strong> deployment <strong>of</strong> intelligent systems in a computer<br />

engineering context<br />

The nature <strong>of</strong> intelligence deployed and <strong>the</strong> implications for sensors, for<br />

s<strong>of</strong>tware (<strong>the</strong> nature <strong>of</strong> <strong>the</strong> s<strong>of</strong>tware, <strong>the</strong> reliability <strong>of</strong> <strong>the</strong> s<strong>of</strong>tware, <strong>the</strong><br />

reasoning, <strong>the</strong> speed <strong>of</strong> response)<br />

The special case <strong>of</strong> mobile systems and location aware devices; illustrations<br />

<strong>of</strong> applications and benefits<br />

The problems associated with control passing to an agent and a user losing<br />

control as in a safety context<br />

Ethical issues<br />

History <strong>of</strong> artificial intelligence<br />

Philosophical questions about <strong>the</strong> nature <strong>of</strong> intelligence: <strong>the</strong> Turing test;<br />

Searle’s “Chinese Room” thought experiment<br />

Ethical issues in artificial intelligence; <strong>the</strong> concepts <strong>of</strong> <strong>the</strong> computable and<br />

<strong>the</strong> incomputable<br />

Fundamental definitions: Optimal vs. human-like reasoning, optimal vs.<br />

human-like behavior<br />

The nature <strong>of</strong> knowledge and knowledge based systems; consistency and<br />

completeness concerns; what is possible<br />

The issues associated with <strong>the</strong> ordering <strong>of</strong> information, <strong>the</strong> fundamental<br />

role <strong>of</strong> technologies such as search, inference, and <strong>the</strong> role <strong>of</strong> heuristics<br />

Modeling <strong>the</strong> world; guidance on effective approaches<br />

6. Human-Centered S<strong>of</strong>tware Evaluation<br />

Bachelor <strong>of</strong> Science in Computer Engineering 82


Faculty <strong>of</strong> Technology<br />

Setting goals for evaluation<br />

The range <strong>of</strong> evaluation criteria including learning time, task time,<br />

completion time, acceptability; <strong>the</strong> strengths and weaknesses <strong>of</strong> <strong>the</strong><br />

different criteria<br />

Evaluation without users: walkthroughs, Keystroke Level Model (KLM),<br />

guidelines, and standards<br />

Evaluation with users: usability testing, interview, survey, experiment<br />

7. Human-Centered S<strong>of</strong>tware Development<br />

General guidelines associated with <strong>the</strong> structure <strong>of</strong> large systems that<br />

embody significant HCI code; separation <strong>of</strong> concerns, issues <strong>of</strong><br />

maintenance; differing development life cycles<br />

Approaches, characteristics, and overview <strong>of</strong> processes associated with<br />

human centered s<strong>of</strong>tware; systems that <strong>of</strong>fer interfaces in different natural<br />

languages<br />

Functionality and usability: task analysis, interviews, surveys<br />

Specifying presentation and interaction; techniques and approaches;<br />

s<strong>of</strong>tware support<br />

Prototyping techniques and tools: Paper storyboards; inheritance and<br />

dynamic dispatch; prototyping languages and GUI builders<br />

Quality considerations<br />

Standards and guidelines<br />

8. Interactive Graphical User-Interface Design<br />

Choosing interaction styles and interaction techniques appropriate to<br />

applications<br />

HCI aspects <strong>of</strong> common widgets<br />

HCI aspects <strong>of</strong> screen design: layout, color, fonts, and labeling<br />

Handling human failure<br />

Beyond simple screen design: visualization, representation, metaphor<br />

Interfaces for computer engineering tools that utilize databases<br />

Multi-modal interaction: graphics, sound, and haptics<br />

3D interaction and virtual reality<br />

9. Graphical User-Interface Programming<br />

User interface management systems: different approaches; responsibilities<br />

<strong>of</strong> <strong>the</strong> application and <strong>of</strong> <strong>the</strong> application<br />

Kernel based and client server models for <strong>the</strong> user interface<br />

Dialogue independence and levels <strong>of</strong> analysis, Seeheim model<br />

Widget classes; aggregation <strong>of</strong> widgets<br />

Event management and user interaction<br />

Geometry management, constraint based approaches<br />

GUI builders and user interface programming environments; callbacks and<br />

<strong>the</strong>ir role in GUI builders<br />

Cross-platform design<br />

10. Graphics and Visualization<br />

Computer graphics: Design <strong>of</strong> models that represent information and<br />

support <strong>the</strong> creation and viewing <strong>of</strong> images; possibilities to include two<br />

dimensions, three dimensions, shading, animation; graphical display devices;<br />

packages that support graphical design<br />

Bachelor <strong>of</strong> Science in Computer Engineering 83


Faculty <strong>of</strong> Technology<br />

Visualization: Nature <strong>of</strong> computer visualization; <strong>the</strong> role <strong>of</strong> visualization in<br />

communicating information in a dataset to an interested party; use <strong>of</strong> tools<br />

to accomplish this<br />

Virtual reality: Nature <strong>of</strong> and benefit <strong>of</strong> virtual reality; its limitations;<br />

components <strong>of</strong> a typical virtual reality situation, e.g. graphics, sound; <strong>the</strong><br />

nature <strong>of</strong> interaction with a user; virtual environments<br />

Computer vision: Role in deducing properties and <strong>the</strong> structure <strong>of</strong> a three<br />

dimensional world from one or more two dimensional images; tools used<br />

for this and <strong>the</strong>ir role in computer engineering<br />

11. Multimedia Systems<br />

The use <strong>of</strong> multi-media in computer engineering applications; <strong>the</strong> benefit,<br />

especially in reinforcement and in a context <strong>of</strong> human diversity<br />

The implications <strong>of</strong> performance requirements associated with multi-media<br />

for <strong>the</strong> hardware, <strong>the</strong> s<strong>of</strong>tware and communications aspects <strong>of</strong> computer<br />

based systems<br />

Considerations resulting from interaction <strong>of</strong> various kinds<br />

Design concerns associated with <strong>the</strong> development <strong>of</strong> multi-media interfaces<br />

Implementation issues; synchronization aspects, tools<br />

Quality considerations<br />

Guidelines and standards<br />

Recommended and Reference Books<br />

[1] Alan J. Dix, Janet E. Finlay, Gregory D. Abowd, Russell Beale, and Janet E.<br />

Finley, 1998. Human-Computer Interaction. 2 nd Edition. Prentice Hall. ISBN-<br />

10: 0132398648, ISBN-13: 978-0132398640<br />

[2] Dov Te'eni, Jane Carey, and Ping Zhang, 2006. Human Computer Interaction:<br />

Developing Effective Organizational Information Systems. John Wiley & Sons.<br />

ISBN 0471677655<br />

[3] Helen Sharp, Yvonne Rogers, Jennifer Preece, and Jenny Preece, 2007.<br />

Interaction Design: Beyond Human-computer Interaction. Wiley. ISBN<br />

0470018666<br />

[4] Andrew Sears, and Julie A. Jacko2008. The Human-Computer Interaction<br />

Handbook. Lawrence Erlbaum Associates. ISBN 0805858709<br />

CMP3203: Computer Systems Maintenance<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

30 60 00 60 100 60 40 4<br />

Rationale<br />

This course covers both hardware and s<strong>of</strong>tware, providing students with <strong>the</strong> skills and<br />

knowledge to build, repair and upgrade computer systems. It also provides a useful<br />

introduction to networks and network security.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 84


Faculty <strong>of</strong> Technology<br />

Objectives<br />

By covering <strong>the</strong> course in Computer Systems Maintenance, <strong>the</strong> student will be able to<br />

effective carry out Personal Computer hardware and s<strong>of</strong>tware installation,<br />

configuration and upgrading, diagnosis and troubleshooting, preventative maintenance,<br />

safety and environmental issues, and basic networking.<br />

Subject Content<br />

1. Basic Concepts <strong>of</strong> a PC<br />

Identify <strong>the</strong> main and auxiliary components <strong>of</strong> a PC<br />

Compare a portable PC with a desktop PC<br />

Identify <strong>the</strong> factors affecting <strong>the</strong> performance <strong>of</strong> a CPU<br />

List <strong>the</strong> different types <strong>of</strong> microprocessors mo<strong>the</strong>rboards and <strong>the</strong>ir<br />

components<br />

List <strong>the</strong> types <strong>of</strong> ports I/O buses and power connectors<br />

Identify different types <strong>of</strong> RAM and RAscsM packages<br />

List various system resources<br />

Describe <strong>the</strong> hard drive geometry and commonly used data encoding<br />

techniques<br />

Identify different types <strong>of</strong> hard drive interfaces<br />

Identify different SCSI standards<br />

Identify <strong>the</strong> requirements for a SCSI device to function<br />

List different types <strong>of</strong> video cards and monitor components<br />

Identify different modes <strong>of</strong> communication for a modem<br />

Describe <strong>the</strong> factors affecting <strong>the</strong> functioning <strong>of</strong> a modem<br />

Identify <strong>the</strong> different types <strong>of</strong> printers<br />

Identify <strong>the</strong> working <strong>of</strong> a laser printer<br />

2. Installing and Configuring a PC<br />

Assembling a Computer (Installing Components <strong>of</strong> a PC and Running<br />

CMOS & Partitioning Hard Drive)<br />

Configuring a PC (Installing <strong>the</strong> Operating System, Printers & Modems)<br />

Networking a PC (Understanding Network Basics and Implementing<br />

Networks)<br />

Configuring a Network (Using Network Protocols & Utilities and Installing<br />

Network Components)<br />

3. Introduction to Operating Systems<br />

Introduction to Operating Systems (Operating Systems Overview and<br />

Functions <strong>of</strong> Operating Systems)<br />

Information and Memory Management<br />

Process Management (Process Scheduling and Inter-process<br />

Communication)<br />

Processor Management and Security (Parallel and Distributed Processing,<br />

and Security and Protection Issues)<br />

Overview <strong>of</strong> Different Operating Systems (Types <strong>of</strong> Operating Systems,<br />

Comparing DOS and Windows Operating System, Comparing Linux and<br />

Unix, Comparing Windows NT and Windows 2000)<br />

4. PC Configuration and Troubleshooting<br />

Configuring a PC (Installing OS and Tuning <strong>the</strong> System, and Installing<br />

External Drivers)<br />

Bachelor <strong>of</strong> Science in Computer Engineering 85


Faculty <strong>of</strong> Technology<br />

<br />

<br />

Troubleshooting PC Problems (Troubleshooting Methodology, and<br />

Troubleshooting <strong>the</strong> Mo<strong>the</strong>rboard and File System)<br />

Troubleshooting O<strong>the</strong>r Devices (Troubleshooting Display & Sound Card,<br />

Troubleshooting Input Devices, and Troubleshooting Storage Media<br />

Printer & Modem<br />

5. Troubleshooting PC Problems<br />

<br />

<br />

<br />

Preventative Maintenance <strong>of</strong> System (System Maintenance, Input Devices<br />

and Display, Storage Media and Power Supply, and Peripherals and Power<br />

Supply)<br />

Preventative Maintenance <strong>of</strong> Data (Disk Fragmentation and DriveSpace,<br />

and ScanDisk and Disk Cleanup)<br />

Troubleshooting Techniques (Troubleshooting System Unit, and Storage<br />

Media and Printer Troubleshooting)<br />

6. Troubleshooting PC Related Problems<br />

<br />

<br />

<br />

Troubleshooting Hardware and S<strong>of</strong>tware Problems (Troubleshooting using<br />

Diagnostic S<strong>of</strong>tware, Troubleshooting File System, and Troubleshooting<br />

Windows Problems)<br />

Troubleshooting System Cards and Input Devices (Troubleshooting Display<br />

and Sound Cards, and Troubleshooting Input Devices)<br />

Troubleshooting O<strong>the</strong>r Devices (Troubleshooting Storage Media, and<br />

Troubleshooting Printers and Modems<br />

Recommended and Reference Book<br />

[1] Phillip A. Laplante, 1915. Easy PC Maintenance and Repair. Windcrest; 2<br />

Edition. ISBN-10: 0070364338. ISBN-13: 978-0070364332.<br />

CMP3204: Distributed Information Systems<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

Many computer applications are confronted with ever increasing volumes <strong>of</strong> data<br />

which must be managed, accessed, and processed efficiently. Typical cases arise in <strong>the</strong><br />

fields <strong>of</strong> e-Health, banking and insurance, e-Science, digital libraries, etc. From <strong>the</strong><br />

data management point <strong>of</strong> view, this has led to a radical shift from centralized,<br />

monolithic database systems towards distributed information systems. For such<br />

systems, it is <strong>of</strong> utmost importance:<br />

<br />

To have sophisticated mechanisms and protocols for coordination and access <strong>of</strong><br />

distributed resources<br />

<br />

To have appropriate infrastructure which support distributed applications<br />

Bachelor <strong>of</strong> Science in Computer Engineering 86


Faculty <strong>of</strong> Technology<br />

This course is designed to provide a firm understanding <strong>of</strong> <strong>the</strong> basic problems<br />

associated with distributed information systems and expose <strong>the</strong> students to <strong>the</strong> different<br />

architectural paradigms, as well as practical experimentation with selected systems.<br />

Objectives<br />

<br />

<br />

<br />

To introduce <strong>the</strong> student to <strong>the</strong> concept <strong>of</strong> distributed information systems<br />

To expose <strong>the</strong> student to fundamentals <strong>of</strong> information integration and<br />

interoperability, federation/mediator/brokering architectures, agent-oriented<br />

systems agent-oriented systems, query formulation and processing, semistructured<br />

and multimedia data management, metadata, and knowledge<br />

management.<br />

To introduce <strong>the</strong> student to <strong>the</strong> practical imperatives <strong>of</strong> <strong>the</strong> languages and<br />

protocols for developing advanced/distributed/global information systems and<br />

<strong>the</strong>ir applications.<br />

To expose <strong>the</strong> student to recent advances in technology and research in database<br />

and intelligent systems<br />

Course Content<br />

1. Introduction<br />

What are Distributed Information Systems (IS)<br />

<br />

Evolution <strong>of</strong> IS<br />

IS Architectural Paradigms<br />

2. Distributed Transactions<br />

Atomicity and Concurrency Control in a Distributed Setting<br />

<br />

TP-lite: Application Login Inside Databases<br />

Practical Exercise: Distributed Transactions & 2PC in DBMSs and in Java<br />

3. Middleware<br />

Is middleware more <strong>the</strong>n <strong>the</strong> “/” in client/server<br />

Practical Exercise: CORBA<br />

4. Container Architectures, J2EE<br />

Enterprise Java Beans<br />

Practical Exercise: JBoss<br />

5. Web Services<br />

How can Web Services be invoked<br />

<br />

How can Web Services be described<br />

Practical Exercise: SOAP & WSDL<br />

6. (Web) Service COMPOSITION<br />

How can (web) Services be Combined to Complex applications<br />

<br />

Demo: BPEL4WS / IBM WebSphere<br />

Practical Exercise: OSIRIS<br />

7. Semantic Web Services<br />

How can <strong>the</strong> Description <strong>of</strong> a Web Service (WS) be Enriched with<br />

Semantic Information<br />

<br />

Demo: OWL-S<br />

Bachelor <strong>of</strong> Science in Computer Engineering 87


Faculty <strong>of</strong> Technology<br />

8. Message-Oriented Middleware<br />

Asynchronous interactions<br />

Demo: IBM WebSphere MQSeries<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course, <strong>the</strong> student will be able to:<br />

Demonstrate a firm understanding <strong>of</strong> <strong>the</strong> concept <strong>of</strong> distributed information<br />

systems<br />

<br />

Appreciate and discuss <strong>the</strong> fundamentals <strong>of</strong> information integration and<br />

interoperability, federation/mediator/brokering architectures, agent-oriented<br />

systems agent-oriented systems, query formulation and processing, semistructured<br />

and multimedia data management, metadata, and knowledge<br />

management.<br />

Implement a distributed Information System using Java EE.<br />

Recommended and Reference Book<br />

[1] G. Alonso, F. Casati, H. Kuno, V. Machiraju. Web Services–Concepts,<br />

Architectures and Applications. Springer, 2004. ISBN 3-540-44008-9.<br />

[2] F. Berman, G. Fox, A. Hey (Eds.). Grid Computing. John Wiley & Sons, 2003,<br />

ISBN: 0-470-85319-0.<br />

[3] K. Birman: Reliable Distributed Systems – Technologies, Web Services, and<br />

Applications. Springer, 2005. ISBN: 0-387-21509-3.<br />

[4] J. Myerson. The complete book <strong>of</strong> Middleware. Auerbach, 2002. ISBN 0-<br />

8493-1272-8.<br />

[5] T. Özsu, P. Valduriez. Principles <strong>of</strong> Distributed Database Systems. Prentice<br />

Hall, 2nd Edition, 1999. ISBN: 0-13-659707-6.<br />

[6] M. Singh, M. Huhns: Service-Oriented Computing: Semantics, Processes,<br />

Agents. John W<br />

CMP3205: Intelligent Systems<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

Theory and implementation <strong>of</strong> a variety <strong>of</strong> techniques used to simulate intelligent<br />

behavior. Expert systems, fuzzy logic, neural networks, evolutionary computation, and<br />

two-player game-tree search will be covered in depth. Knowledge representation,<br />

pattern recognition, hybrid approaches, and handling uncertainty will also be discussed<br />

Objective<br />

By covering <strong>the</strong> course in Intelligent Systems, <strong>the</strong> student will be able to:<br />

Appreciate <strong>the</strong> concepts <strong>of</strong> Artificial Intelligence and <strong>the</strong> diversity <strong>of</strong> approaches<br />

and definitions with which it is associated.<br />

Develop an understanding <strong>of</strong> heuristic methods.<br />

Learn <strong>the</strong> underlying <strong>the</strong>ory and practice <strong>of</strong> evolutionary computation, including<br />

genetic algorithms and genetic programming.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 88


Faculty <strong>of</strong> Technology<br />

<br />

<br />

<br />

<br />

Appreciate knowledge engineering, develop expert systems, and understand<br />

fuzzy expert systems.<br />

Develop an understanding <strong>of</strong> and implement artificial neural networks.<br />

Implement a two-player strategy game with optimized adversarial search.<br />

Implement, observe and evaluate alternative approaches to intelligent systems<br />

Subject Content<br />

1. Optimization Methods<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Gradient methods<br />

Linear Programming<br />

Constrained Problems and Lagrange Multiplier Method<br />

Search Method<br />

Ordinal Optimization<br />

Genetic Algorithms<br />

Applications<br />

2. Fundamentals <strong>of</strong> Neural Networks<br />

<br />

<br />

<br />

Basic concepts<br />

Back-propagation algorithm<br />

Applications<br />

3. Advanced Neural Networks<br />

<br />

<br />

<br />

Competitive learning<br />

Data clustering networks<br />

Application in hierarchical modeling for complex systems<br />

4. Knowledge Representation Methods<br />

<br />

<br />

<br />

Linguistic knowledge representation<br />

Ma<strong>the</strong>matical foundation: Random Sets<br />

Applications<br />

5. Information Fusion Techniques<br />

<br />

<br />

<br />

Fusion <strong>of</strong> linguistic and stochastic information<br />

Application in intelligent segmentation<br />

Application in sensor fusion<br />

Recommended and Reference Books<br />

[1] Michael Negnevitsky, 2005. Artificial Intelligence: A Guide to Intelligent<br />

Systems. Addison-Wesley- ISBN 0321204662<br />

[2] George F. Luger, Peder Johnson, Jean E. Newman, Carl Stern, Ronald Yeo -<br />

Cognitive Science: The Science <strong>of</strong> Intelligent Systems. <strong>Academic</strong> Press (1994)<br />

- ISBN 0124595707<br />

[3] Jatinder N. D. Gupta, Guisseppi A. Forgionne, Manuel Mora. Intelligent<br />

Decision-making Support Systems: Foundations, Applications and Challenges.<br />

Springer (2006)-ISBN 1846282284<br />

Bachelor <strong>of</strong> Science in Computer Engineering 89


Faculty <strong>of</strong> Technology<br />

CMP3206: Safety Critical System<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

Computers are increasingly used in systems where safety is paramount, such as<br />

transport, power systems and medical applications. An understanding <strong>of</strong> <strong>the</strong> techniques<br />

necessary to implement robust approaches has become vitally important.<br />

Objectives<br />

<br />

The principal objective <strong>of</strong> this course is to give students an opportunity to<br />

acquire knowledge in <strong>the</strong> development <strong>of</strong> safety critical systems, including <strong>the</strong><br />

<strong>the</strong>ory and practice <strong>of</strong> applying safety analysis and formal specification<br />

techniques.<br />

Students will also gain experience in <strong>the</strong> use <strong>of</strong> such specifications in s<strong>of</strong>tware<br />

development and testing.<br />

Subject Content<br />

1. Standards, Safety Culture and Management<br />

Standards, Conformance and IEC61508<br />

Organizational Failure and MORT<br />

2. Requirements Analysis<br />

Requirements, Safety Cases and SMART<br />

Hazard analysis and FMECA<br />

3. Risk Analysis<br />

Probabilistic risk assessment, THERP and CREAM<br />

Fault Trees, S<strong>of</strong>tware Fault Trees and S<strong>of</strong>tware PRA<br />

4. S<strong>of</strong>tware Engineering<br />

S<strong>of</strong>tware Requirements and MIL-HDBK-338B<br />

S<strong>of</strong>tware Development and DO-178B<br />

5. Hardware Design<br />

Fault Tolerant Architectures and <strong>the</strong> Shuttle GPCs<br />

Microprocessors, PLCs and Electromagnetic Compatibility<br />

6. Static and Dynamic Testing<br />

Validation, Verification and DEF STAN 00-60<br />

Testing, Formal Reasoning and Mode Confusion<br />

7. Human Factors<br />

Slips, Lapses and Mistakes, GEMs and Risk Homeostasis<br />

Workload, Situation Awareness and CRM<br />

8. Accident and Incident Analysis<br />

Incident Reporting and Analysis, Eindhoven Classification Model<br />

Accident Investigation and Reporting<br />

Recommended and Reference Books<br />

[1] Safeware: System Safety and Computers, by Nancy G. Leveson, University <strong>of</strong><br />

Washington (leveson@cs.washington.edu), Addison-Wesley, 1995. ISBN: 0-<br />

Bachelor <strong>of</strong> Science in Computer Engineering 90


Faculty <strong>of</strong> Technology<br />

201-11972-2.<br />

[2] Computer Related Risks, by Peter G. Neumann, SRI, ACM Press Books<br />

(ACM Press / Addison-Wesley), 1995. ISBN: 0-201-55805-X.<br />

[3] S<strong>of</strong>tware in Safety Related Systems, by Brian A. Wichmann, NPL, Wiley,<br />

1992. ISBN: 0471-93474-7.<br />

[4] Safety-Critical Computer Systems, by Neil Storey, Addison-Wesley, 1996.<br />

ISBN: 0-201-42787-7.<br />

CMP3207: Sustainable Energy Systems<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

60 00 00 60 100 60 40 4<br />

Rationale<br />

The Sustainable Energy Systems course is designed to equip graduates and working<br />

pr<strong>of</strong>essionals with a broad training in, and understanding <strong>of</strong>, energy production,<br />

delivery, consumption, efficiency, economics, policy and regulation. These are<br />

considered in <strong>the</strong> context <strong>of</strong> <strong>the</strong> sustainability <strong>of</strong> energy supply and consumption<br />

patterns, both locally and globally. A unique feature <strong>of</strong> <strong>the</strong> course is its broad approach<br />

to <strong>the</strong> development <strong>of</strong> sustainable routes to <strong>the</strong> generation and supply <strong>of</strong> energy within<br />

which renewable energy is a key <strong>the</strong>me.<br />

Objective<br />

By covering <strong>the</strong> course in Sustainable Energy Systems, <strong>the</strong> student will be able to:<br />

Understand and evaluate alternative modes <strong>of</strong> energy supply, including fossilfuelled,<br />

nuclear and renewables-based supply<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Appreciate <strong>the</strong> development <strong>of</strong> and constraints on carbon- and non carbon-based<br />

energy resources<br />

Understand <strong>the</strong> challenges and constraints on end-use efficiency <strong>of</strong> energy<br />

Appreciate <strong>the</strong> economic, policy and regulatory frameworks within which<br />

decisions on energy futures are made<br />

Be conversant with <strong>the</strong> problems <strong>of</strong> energy distribution and <strong>the</strong> constraints on<br />

present distribution systems.<br />

Critically analyse competing claims in <strong>the</strong> energy sector<br />

Evaluate options for energy supply, distribution, utilisation<br />

Articulate environmental sustainability <strong>of</strong> energy supply systems<br />

Analyse <strong>the</strong> technical-economic interaction <strong>of</strong> developments in <strong>the</strong> energy system<br />

Subject Content<br />

1. Technologies for Sustainable Energy<br />

Principles <strong>of</strong> operation <strong>of</strong> sustainable energy conversion by (i) wind; (ii)<br />

wave; (iii) tidal; (iv) solar; (v) biomass; (vi) geo<strong>the</strong>rmal; (vii) combined heat<br />

and power systems;<br />

Principal aspects <strong>of</strong> engineering design underpinning <strong>the</strong>se technologies;<br />

Bachelor <strong>of</strong> Science in Computer Engineering 91


Faculty <strong>of</strong> Technology<br />

constraints on each technology, both imposed by physical fundamentals,<br />

and by current levels <strong>of</strong> technology and market, supported by quantitative<br />

evidence where possible;<br />

Fundamentals <strong>of</strong> grid connection <strong>of</strong> distributed generators and <strong>the</strong> problems<br />

and constraints associated with this;<br />

2. Energy Efficiency, Resource and Environment<br />

Availability <strong>of</strong> natural resources and <strong>the</strong> implications <strong>of</strong> finite fossil<br />

resources;<br />

The concept <strong>of</strong> proved reserves and R/P ratios;<br />

Techniques for energy efficiency in buildings, including passive solar design<br />

Relationships between energy use and climate change.<br />

3. Power Systems Engineering and Economics<br />

Iterative methods <strong>of</strong> solution to non-linear nodal network analysis and use a<br />

load flow package;<br />

Effects <strong>of</strong> AC network on transmission and distribution <strong>of</strong> electricity<br />

Principles <strong>of</strong> power system economics and how market-based solutions can<br />

be applied to a previously centrally-controlled industry<br />

Effects <strong>of</strong> network on marginal prices at different locations<br />

Taking human reactions into account when designing engineering solutions<br />

Recommended and Reference Books<br />

[1] Peter Gevorkian. Sustainable Energy Systems Engineering. - McGraw-Hill<br />

(2007) - ISBN 0071473599<br />

[2] Wissenschaftlicher Beirat der Bundesregierung Globale Umweltveränderungen<br />

(Germany. World in Transition: Towards Sustainable Energy Systems. ) -<br />

Earthscan (2004)- ISBN 1853838020<br />

[3] Naim Hamdia Afgan, Naim Afgan, Maria da Grac̦a. CarvalhoSustainable<br />

Assessment Method for Energy Systems: Indicators, Criteria, and Decision<br />

Making Procedure. Kluwer <strong>Academic</strong> (2000) - ISBN 0792378768<br />

CMP3301: Industrial Training II<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Report<br />

Mark<br />

Weighted Field<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

00 300 00 30 100 60 40 2<br />

Rationale<br />

This shall be carried out in a firm doing Computer Engineering or Related Work. This<br />

training goes on for ten weeks during which <strong>the</strong> student is supervised by a member <strong>of</strong><br />

<strong>the</strong> teaching staff <strong>of</strong> <strong>the</strong> department. The student prepares a report discussing <strong>the</strong><br />

training environment, lessons learnt, challenges faced and recommendations. This<br />

report has to be approved by both <strong>the</strong> training <strong>of</strong>ficer at <strong>the</strong> training firm and <strong>the</strong><br />

student’s supervisor and should be handed in to <strong>the</strong> said concerned parties before <strong>the</strong><br />

beginning <strong>of</strong> <strong>the</strong> academic year.<br />

Objectives<br />

By undertaking <strong>the</strong> Industrial Training programme, <strong>the</strong> student will be able to:<br />

Communicate effectively with fellow workers and supervisors in issues related to<br />

projects undertaken.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 92


Faculty <strong>of</strong> Technology<br />

<br />

<br />

<br />

<br />

<br />

<br />

Demonstrate and practice good working ethics and to internalize excellence.<br />

Attest and practice high-quality organizational skills in enhancing individual and<br />

group effectiveness and productivity.<br />

Demonstrate creativity and innovation in solving problems related to real-life<br />

projects.<br />

Exhibit pleasant interpersonal skills in developing understanding and appreciation<br />

<strong>of</strong> individual differences and interpersonal skills in building self-confidence.<br />

Work independently or under very minimal supervision.<br />

Demonstrate good planning, good management, constant monitoring and quality<br />

delivery <strong>of</strong> project undertaken.<br />

TEC4101: Research Methods<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WE WCM CU<br />

45 00 30 60 100 60 40 4<br />

Rationale<br />

Research methodology is <strong>the</strong> study <strong>of</strong> how to perform scientific research. This course<br />

looks at strategies for performing research in Computer Engineering, from problem<br />

formulation to validation <strong>of</strong> a proposed solution. The course discusses some basic<br />

questions about <strong>the</strong> nature <strong>of</strong> science and <strong>of</strong> computer engineering, and gives <strong>the</strong><br />

student experience with forming a research plan and with specific validation methods.<br />

The course spans multiple elements including time management, writing and<br />

presentation skills, and general considerations for experiment design and planning.<br />

Course Content<br />

1. Introduction<br />

Definition <strong>of</strong> Research<br />

Role <strong>of</strong> Research in <strong>the</strong> Computer Engineering Pr<strong>of</strong>ession<br />

Types <strong>of</strong> Research (Basic Vs Applied; Primary Vs Secondary; Exploratory<br />

Vs Constructive Vs Empirical)<br />

Research Processes (The Scientific Vs Historical Research Process)<br />

Information Literacy Strategies<br />

Research Funding<br />

Research and Publishing<br />

2. Elements <strong>of</strong> General <strong>Academic</strong> Writing<br />

The Writing Process (Invention, Composition and Revision)<br />

Research Concept Note (Synopsis)<br />

Proposal<br />

Thesis Report<br />

Papers<br />

Abstracts<br />

Formatting Style (MLA Vs APA)<br />

Bachelor <strong>of</strong> Science in Computer Engineering 93


Faculty <strong>of</strong> Technology<br />

3. Identifying and Formulating a Research Problem<br />

Definition <strong>of</strong> Research Problem<br />

Identify a Research Problem (Sources <strong>of</strong> Research Problems)<br />

Testing <strong>the</strong> Feasibility <strong>of</strong> <strong>the</strong> Research Problem<br />

Formulating a Research Problem<br />

Statement <strong>of</strong> <strong>the</strong> Problem<br />

Components <strong>of</strong> a Problem Statement<br />

References and Bibliography<br />

Appendices<br />

Pagination <strong>of</strong> Research Proposal<br />

4. Developing O<strong>the</strong>r Proposal Components<br />

Formulating a Research Title<br />

Formulating and Stating <strong>the</strong> Research Objectives<br />

Stating <strong>the</strong> Research Justification<br />

Literature Review<br />

The Research Methodology<br />

The Research Resources Plan (Work plan, and Budget)<br />

5. Research Ethics<br />

Intellectual Property Rights (Makerere IPM Policy and o<strong>the</strong>r International<br />

IPM Policies)<br />

Research Ownership and Mandate <strong>of</strong> Researcher<br />

Research and Citations (Notation and Standards)<br />

Plagiarism (Definition, manifestation, and consequences)<br />

Au<strong>the</strong>nticity <strong>of</strong> Facts and Opinions (Proper Research Language and<br />

avoiding weasel word and fallacies)<br />

Rights <strong>of</strong> Human and Animal Survey Respondents<br />

6. Data Collections and Analysis<br />

Designing and Executing a Survey<br />

Data Collections Instruments and Methods (Questionnaires Vs Interview<br />

Vs Check Lists)<br />

Designing Effective Questionnaires<br />

Case Studies<br />

Designing and Conducting Experiments<br />

S<strong>of</strong>tware for Data Analysis<br />

7. Presentation <strong>of</strong> Research<br />

Oral Presentation (Proposal and Viva Voce)<br />

Use <strong>of</strong> Presentation Aides<br />

Use <strong>of</strong> Graphics and Animations in Presenting Research<br />

Presentation Language<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> student should be able to:<br />

Formulate a detailed statement <strong>of</strong> <strong>the</strong> problem, objectives and develop a<br />

comprehensive research proposal<br />

Execute bibliographic searches to obtain information about prior work.<br />

Analyse research literature to obtain relevant information, identify trends, and<br />

produce annotated bibliographies.<br />

Have appreciation <strong>of</strong> appropriate citation and attribution in research.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 94


Faculty <strong>of</strong> Technology<br />

Select an appropriate method <strong>of</strong> solution.<br />

Use appropriate tools for data capture and analysis.<br />

Design and conduct <strong>of</strong> experiments.<br />

Carry out technical writing and presentation <strong>of</strong> results for publication<br />

Recommended and Reference Books<br />

[1] John W. Creswell, (2006). Research Design: Qualitative, Quantitative, and Mixed<br />

Methods Approaches. Sage Publications, Inc; 3rd Edition. ISBN-10: 1412965578,<br />

ISBN-13: 978-1412965576<br />

[2] Donald H. McBurney and Theresa L. White, (2006). Research Methods, Wadsworth<br />

Publishing; 7 Edition. ISBN-10: 0495092088, ISBN-13: 978-0495092087<br />

[3] Anthony M. Graziano and Michael L. Raulin (2006). Research Methods: A<br />

Process <strong>of</strong> Inquiry. Allyn & Bacon; 6 Edition. ISBN-10: 0205484751, ISBN-13:<br />

978-0205484751<br />

[4] Kenneth Bordens and Bruce Barrington Abbott, (2007). Research Design and<br />

Methods: A Process Approach. McGraw-Hill Humanities/Social Sciences/Languages;<br />

7 Edition. ISBN-10: 0073129062, ISBN-13: 978-0073129068<br />

CMP4101: Digital Signal Processing<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WE WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

Computer Engineering benefits from Digital signal processing, through its application<br />

in <strong>the</strong> transformation, syn<strong>the</strong>sis and analysis <strong>of</strong> data. For example, when modelling a<br />

communication channel, filters, generators and analyzers can be used to remove, add<br />

or measure noise in processing audio, images and video. The computer engineer to-be<br />

<strong>the</strong>refore has to have a thorough introduction to Digital signal processing.<br />

Course Content<br />

1. History and Overview<br />

Indicate some reasons for studying digital signal processing and multimedia<br />

Highlight some people that influenced or contributed to <strong>the</strong> area <strong>of</strong> digital<br />

signal processing and multimedia<br />

Indicate some important topic areas such as digital audio, multimedia, wave<br />

tables, digital filters, image display, chromatic and achromatic lighting, and<br />

thresholds<br />

Contrast <strong>the</strong> meanings <strong>of</strong> analog and digital signals<br />

Explain <strong>the</strong> need for using transforms and why <strong>the</strong>y are different for analog<br />

and discrete situations<br />

Indicate how <strong>the</strong> subject relates to simple graphics<br />

Contrast image processing from computer graphics<br />

Mention some techniques used in transformations such as Fourier, Laplace,<br />

and wavelet transforms<br />

Explore some additional resources associated with digital signal processing<br />

and multimedia<br />

Bachelor <strong>of</strong> Science in Computer Engineering 95


Faculty <strong>of</strong> Technology<br />

Explain <strong>the</strong> purpose and role <strong>of</strong> digital signal processing and multimedia in<br />

computer engineering<br />

2. Theories and concepts<br />

The sampling <strong>the</strong>orem<br />

Nyquist frequency<br />

Aliasing<br />

Relationship between time and frequency domain<br />

Principle <strong>of</strong> causality such as discrete and continuous spectra<br />

3. Discrete Fourier transform<br />

Definition <strong>of</strong> <strong>the</strong> Discrete Fourier Transform (DFT)<br />

Relationship between original and transformed domains<br />

Algorithms <strong>of</strong> <strong>the</strong> DFT<br />

Linear convolutions<br />

Contrast DFT with <strong>the</strong> Fourier Transform and <strong>the</strong> Fast Fourier Transform<br />

(FFT)<br />

Filtering using DFT<br />

Filtering <strong>of</strong> long data sequences<br />

4. Digital spectra analysis<br />

Spectral views<br />

Spectrum analysis<br />

Spectra <strong>of</strong> periodic signals<br />

Spectra <strong>of</strong> <strong>the</strong> impulse and a square wave<br />

Filtering<br />

Interpolation<br />

5. Sampling<br />

Implications <strong>of</strong> assumptions <strong>of</strong> repeated time series<br />

Group sampling <strong>of</strong> time signals<br />

Size <strong>of</strong> group and how it affects spectra<br />

Sampled signals<br />

Periodic signals<br />

Non-periodic signals<br />

Spectrograms<br />

6. Transforms<br />

Concept and properties <strong>of</strong> <strong>the</strong> z–transform<br />

Inverse z–transforms<br />

Difference equations<br />

The Discrete Fourier Transform<br />

The Inverse DFT<br />

The Fast Fourier Transform Class<br />

The Inverse FFT method<br />

Fast Convolution using <strong>the</strong> FFT<br />

Power Spectral Density<br />

Frequency shifting using <strong>the</strong> FFT<br />

Filtering using FFT<br />

Additive and subtractive syn<strong>the</strong>sis<br />

7. Digital filters<br />

Frequency response <strong>of</strong> discrete – time systems<br />

Bachelor <strong>of</strong> Science in Computer Engineering 96


Faculty <strong>of</strong> Technology<br />

<br />

<br />

<br />

<br />

<br />

<br />

Recursive filter design<br />

Nonrecursive filter design<br />

Windowing<br />

FIR filters, frequency and phase response, time domain multi-tap filters,<br />

surface acoustic wave filters<br />

Poles and zeros in <strong>the</strong> z plane<br />

IIR filters, frequency and phase response<br />

Design <strong>of</strong> IIR Filters<br />

8. Discrete time signals<br />

<br />

<br />

<br />

<br />

Representation <strong>of</strong> signals<br />

Sampling <strong>of</strong> signals<br />

Quantizing<br />

Aliasing<br />

Difference Equations<br />

9. Window functions<br />

<br />

<br />

<br />

<br />

Definition <strong>of</strong> a window function<br />

Purpose <strong>of</strong> a window function<br />

Signal compression and transform properties<br />

Window functions and <strong>the</strong>ir impact on <strong>the</strong> spectra<br />

Window functions and <strong>the</strong> DFT<br />

10. Convolution<br />

<br />

<br />

<br />

Impulse response<br />

Convolution integral<br />

Physically realizable systems<br />

Graphical methods<br />

Learning Outcomes<br />

Identify some contributors to digital signal processing and multimedia and relate<br />

<strong>the</strong>ir achievements to <strong>the</strong> knowledge area.<br />

Know <strong>the</strong> difference between analog and discrete signals.<br />

Describe how computer engineering uses or benefits from digital signal<br />

processing and multimedia.<br />

Explain <strong>the</strong> purpose <strong>of</strong> a Fourier transform in signal processing.<br />

Describe <strong>the</strong> advantage <strong>of</strong> <strong>the</strong> FFT.<br />

Contrast how group size affects signal spectra.<br />

Understand <strong>the</strong> concept, properties and uses <strong>of</strong> <strong>the</strong> z–transform.<br />

Understand <strong>the</strong> relationship between z–transform and <strong>the</strong> conformal map<br />

Understand <strong>the</strong> Discrete Fourier transform and its significance.<br />

Understand frequency selective filters in <strong>the</strong> z–transform domain.<br />

Understand <strong>the</strong> definition <strong>of</strong> a window function.<br />

Understand <strong>the</strong> discrete-time representation <strong>of</strong> signals.<br />

Use <strong>the</strong> convolution technique to analyze circuits.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 97


Faculty <strong>of</strong> Technology<br />

Recommended and Reference Books<br />

[1] Emmanuel C. Ifeachor, Barrie W. Jervis, Digital Signal Processing; A practical<br />

Approach, 2 nd Edition, Prentice Hall, 2002.<br />

[2] Richard G. Lyons, Understanding Digital Signal Processing, 2 nd Edition, Pearson<br />

Education, 2004.<br />

[3] John G. Proakis, Dimitris G. Manolakis, Digital Signal Processing; Principles,<br />

Algorithms and Applications, 4 th ed., Prentice Hall, 2006.<br />

[4] S. Salivahanan, A. Vallararaj, C. Gnanapriya, Digital Signal Processing, Tata<br />

McGraw-Hill Publishing Company Limited, 2006.<br />

[5] A.V. Oppenheim and R.W. Schafer, Digital Signal Processing, Prentice Hall,<br />

Englewood Cliffs NJ, 1975.<br />

[6] Sanjit K. Mitra, Digital Signal Processing, 3 rd ed., 2006<br />

[7] Boaz Porat, A course in digital signal processing, John Wiley & Sons Inc., 1997.<br />

[8] Alan V. Oppenheim, Ronald W. Schafer, Discrete-time Signal Processing, Prentice-<br />

Hall, International ed., 1989.<br />

[9] Lawrence R. Rabiner, Bernard Gold, Theory and application <strong>of</strong> digital signal<br />

processing, Prentice-Hall Inc., 1975.<br />

TEC4102: Principles <strong>of</strong> Management<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WE WCM CU<br />

45 00 00 45 100 60 40 3<br />

Rationale<br />

This course will enable students to develop short and long-range plans to effectively<br />

accomplish organizational goals. Through <strong>the</strong> use <strong>of</strong> terminology, exercises and case<br />

studies, students will be able to give a critical appraisal <strong>of</strong> real life situations involving<br />

organizing, staffing and motivating o<strong>the</strong>rs. The student will also learn tools to aid in<br />

problem solving, valuing diversity and coping with change. The principles learned in<br />

this course will allow <strong>the</strong> student to effectively work with and through o<strong>the</strong>rs in an<br />

organization. The principles are relevant to any type <strong>of</strong> organization or group,<br />

empowering <strong>the</strong> student to lead o<strong>the</strong>rs, negotiate, embrace change and better<br />

understand <strong>the</strong> role <strong>of</strong> business in society. Both principles and practices <strong>of</strong> management<br />

as an academic discipline as well as a pr<strong>of</strong>ession are surveyed, examined, and reviewed.<br />

Students will acquire knowledge through <strong>the</strong> textbook, and <strong>the</strong> assigned reading<br />

material as well as <strong>the</strong> material accessible through <strong>the</strong> web and apply <strong>the</strong>m to specific<br />

real world management phenomenon. The course focuses on <strong>the</strong> fundamentals <strong>of</strong> <strong>the</strong><br />

practice <strong>of</strong> management, including administrative, organizational and behavioural<br />

<strong>the</strong>ories. It explores <strong>the</strong> functions <strong>of</strong> management and <strong>the</strong> aspects <strong>of</strong> <strong>the</strong> organizational<br />

environment.<br />

Objectives<br />

<br />

<br />

<br />

<br />

<br />

to understand <strong>the</strong> roles and functions <strong>of</strong> managers at various (entry, middle and<br />

<strong>the</strong> top) levels<br />

to explain <strong>the</strong> relationships between organizational mission, goals, and objectives<br />

to comprehend <strong>the</strong> significance and necessity <strong>of</strong> managing stakeholders<br />

to conceptualize how internal and external environment shape organizations and<br />

<strong>the</strong>ir responses<br />

to demonstrate empirical understanding <strong>of</strong> various organizational processes and<br />

Bachelor <strong>of</strong> Science in Computer Engineering 98


Faculty <strong>of</strong> Technology<br />

behaviours and <strong>the</strong> <strong>the</strong>ories associated with <strong>the</strong>m<br />

to demonstrate critical thinking skills in identifying ethical, global, and diversity<br />

issues in planning, organizing, controlling and leading functions <strong>of</strong> management<br />

to understand organizational design and structural issues<br />

Course Content<br />

1. Historical Perspectives <strong>of</strong> Management<br />

The behavioural approach to management<br />

The management science approach<br />

The contingency approach<br />

The system approach<br />

2. Principles <strong>of</strong> Planning<br />

Defining planning<br />

Purposes <strong>of</strong> planning<br />

Advantages and potential disadvantages <strong>of</strong> planning<br />

Management by objectives<br />

Planning tools<br />

Strategic planning<br />

Forecasting and budgeting<br />

3. The Management Task<br />

The Role <strong>of</strong> management<br />

Defining management<br />

The management process, management functions<br />

Management goal attainment<br />

Management and organizational resources<br />

4. Fundamentals <strong>of</strong> Organizing<br />

The definition <strong>of</strong> organizing<br />

The organizing process<br />

The organizing subsystem<br />

Classical organizing <strong>the</strong>ory<br />

5. Leadership and Effective Communication<br />

Defining leadership; leader vs. manager<br />

Leadership behaviours<br />

Transformational Leadership<br />

Coaching<br />

Entrepreneurial leadership<br />

6. Controlling for Productivity<br />

Defining production and productivity<br />

Quality and productivity<br />

Operations management<br />

Operations control<br />

Using control tools to control organizations<br />

7. Managerial Ethics and Social Responsibility<br />

Fundamentals <strong>of</strong> social responsibility<br />

Areas <strong>of</strong> corporate social responsibility<br />

Social responsiveness and decision making<br />

Influencing individuals performing social responsibility activities<br />

A definition <strong>of</strong> ethics<br />

Bachelor <strong>of</strong> Science in Computer Engineering 99


Faculty <strong>of</strong> Technology<br />

Creating an ethical workplace<br />

8. Making Good Business Decisions<br />

Types <strong>of</strong> decisions<br />

Elements <strong>of</strong> <strong>the</strong> decision situation<br />

The decision making process<br />

Decision making conditions<br />

Decision making tools<br />

Processes for making group decisions<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> students should be able to:<br />

Describe <strong>the</strong> functions <strong>of</strong> management.<br />

Outline <strong>the</strong> historical <strong>the</strong>ories relating to modern management.<br />

Explain <strong>the</strong> role <strong>of</strong> management within a business setting.<br />

Outline managerial decision making.<br />

Identify <strong>the</strong> steps <strong>of</strong> problem solving and decision making in organizations<br />

Apply knowledge <strong>of</strong> managerial practices to case studies<br />

Recognize challenges in <strong>the</strong> achievement <strong>of</strong> good managerial performance<br />

Describe human resource planning and staffing processes needed to achieve<br />

optimal performance<br />

Prepare a business forecast and budget<br />

Illustrate how business ethics and social responsibility apply to organizations<br />

Define change and tress in organizations and prepare a plan to implement<br />

changes using case studies<br />

Describe formal and informal organizational communication processes and how<br />

to influence employees.<br />

Recommended and Reference Books<br />

[1] Charles W. L. Hill and Steven McShane (2006) Principles <strong>of</strong> Management.<br />

McGraw-Hill/Irwin; 1 st Edition. ISBN-10: 0073530123, ISBN-13: 978-<br />

0073530123<br />

[2] Gary Dessler(2003). Management: Principles and Practices for Tomorrow's<br />

Leaders, Prentice Hall; 3 rd Edition. ISBN-10: 0131009923, ISBN-13: 978-<br />

0131009929<br />

[3] Ellen A. Benowitz(2001). Principles <strong>of</strong> Management. Cliffs Notes. ISBN-10:<br />

076456384X, ISBN-13: 978-0764563843<br />

CMP4103: Computer Systems and Network Security<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

30 30 00 45 100 60 40 3<br />

Rationale<br />

With <strong>the</strong> multiplication <strong>of</strong> tasks that are performed on computers and <strong>the</strong> advent <strong>of</strong><br />

globalization <strong>of</strong> computing in general, <strong>the</strong> topic <strong>of</strong> computer security becomes more<br />

and more important. We see in this course what is computer security, especially as it<br />

relates to <strong>the</strong> protection <strong>of</strong> information stored on <strong>the</strong> computers and exchanged<br />

between computers The Computer Engineering student will be equipped with<br />

Bachelor <strong>of</strong> Science in Computer Engineering 100


Faculty <strong>of</strong> Technology<br />

knowledge and skills in advanced cryptography, access control, distributed<br />

au<strong>the</strong>ntication, TCP/IP security, firewalls, IPSec, Virtual Private Networks, intrusion<br />

detection systems, and advanced topics such as wireless security, identity management.<br />

Objectives<br />

To familiarize <strong>the</strong> student with <strong>the</strong> concept <strong>of</strong> system security analysis<br />

To introduce access control methods and various security models<br />

To equip <strong>the</strong> student with skills <strong>of</strong> identification and au<strong>the</strong>ntication in <strong>the</strong><br />

security domain<br />

To introduce <strong>the</strong> various security concerns associated with <strong>the</strong> most popular<br />

operating systems - UNIX and Windows<br />

To introduce <strong>the</strong> concept <strong>of</strong> communication security<br />

To equip <strong>the</strong> student with various cryptography systems<br />

To introduce <strong>the</strong> student to <strong>the</strong> security concerns applicable to <strong>the</strong> internet<br />

To introduce <strong>the</strong> student to <strong>the</strong> various e-commerce security protocols<br />

Course Content<br />

1. Overview <strong>of</strong> Computer Security<br />

Threats, risks, vulnerabilities, safeguards, attacks, exploits<br />

Information states<br />

Security at <strong>the</strong> various states <strong>of</strong> information: processing, storage and<br />

transmission<br />

Definition <strong>of</strong> security based on current state and reachable states<br />

Comprehensive model <strong>of</strong> security<br />

Confidentiality, integrity and availability<br />

Risk management, corrective action, risk assessment<br />

Physical security, including TEMPEST security<br />

2. Access Control<br />

Access control matrix<br />

Access control lists<br />

Capabilities<br />

Role-based access control<br />

Application dependence<br />

3. Security Policies<br />

Types <strong>of</strong> policies<br />

Role <strong>of</strong> trust<br />

Information states and procedures<br />

Types <strong>of</strong> access control<br />

Separation <strong>of</strong> duties<br />

Application dependence<br />

Importance for automated information systems (AIS)<br />

Security planning<br />

4. Confidentiality Policies<br />

Goals and definitions<br />

Bell-LaPadula model<br />

Multi-level security<br />

5. Integrity Policies<br />

Goals and definitions<br />

Bachelor <strong>of</strong> Science in Computer Engineering 101


Faculty <strong>of</strong> Technology<br />

Information states and procedures<br />

Operating system integrity<br />

Biba model<br />

Clark-Wilson model<br />

6. Hybrid Policies<br />

Chinese Wall model<br />

Role-Based Access Control<br />

7. Basic Cryptography: user's viewpoint<br />

Encryption : Classical cryptosystems, Public key cryptosystems<br />

Message digests and au<strong>the</strong>ntication codes<br />

Application to access control<br />

8. Key Management<br />

Key exchange<br />

Session and interchange keys<br />

Cryptographic key infrastructures<br />

Storing, revoking and destructing keys<br />

Digital signatures<br />

Application to access control<br />

9. Cipher Techniques<br />

Stream and block ciphers<br />

Block chaining<br />

10. Au<strong>the</strong>ntication<br />

Passwords<br />

Challenge-response<br />

Biometrics<br />

Location<br />

Combinations<br />

Application to access control/authorization<br />

11. Design Principles<br />

Least privilege<br />

Fail-safe defaults<br />

Economy <strong>of</strong> mechanism<br />

Complete mediation<br />

Open design<br />

Separation <strong>of</strong> privilege<br />

Least common mechanism<br />

Psychological acceptability<br />

12. Information Flow<br />

Information flow models and mechanisms<br />

Compiler-based and execution-based mechanisms<br />

Security policies on information flow<br />

Relevance <strong>of</strong> security policies to information security and operations security<br />

Interdependence between information security and operations security<br />

13. Confinement Problem<br />

Isolation<br />

Covert channels<br />

14. Assurance and S<strong>of</strong>tware Engineering<br />

Bachelor <strong>of</strong> Science in Computer Engineering 102


Faculty <strong>of</strong> Technology<br />

Security aspects <strong>of</strong> <strong>the</strong> life cycle<br />

S<strong>of</strong>tware security mechanisms to protect information<br />

Assurance and trust<br />

Building trusted operating systems<br />

15. Evaluating Systems<br />

Historical perspective<br />

TCSEC<br />

Common criteria<br />

Rainbow series<br />

NSTISSAM COMPUSEC/1-99<br />

Security certification and accreditation <strong>of</strong> federal information systems<br />

16. Malicious Logic<br />

Trojan horses<br />

Computer viruses<br />

Computer worms<br />

Logic bombs<br />

Defenses and countermeasures<br />

17. Vulnerability Analysis<br />

Detailed description <strong>of</strong> threats, vulnerabilities and exploiting vulnerabilities<br />

18. Auditing<br />

Auditing mechanisms<br />

Auditing system design<br />

Privacy issues<br />

Trails and logs<br />

Access control issues<br />

Application dependence<br />

19. Intrusion Detection<br />

Principles<br />

Models<br />

Architecture<br />

Organization<br />

Intrusion response<br />

20. Network Security<br />

Policy development<br />

Network organization<br />

Firewalls<br />

Availability<br />

Access control issues<br />

Attacks anticipation<br />

Traffic analysis<br />

Public vs private<br />

21. Program Security<br />

Requirements and policy<br />

Common security-related programming problems<br />

Object reuse and access control<br />

22. Virtual Machines<br />

Virtual machine structure<br />

Bachelor <strong>of</strong> Science in Computer Engineering 103


Faculty <strong>of</strong> Technology<br />

Virtual machine monitor<br />

23. Security Administration and Training<br />

Basic notions related to security administration: accountability, accreditation,<br />

security architecture, assessments, assurance, availability, integrity,<br />

confidentiality, au<strong>the</strong>ntication, non-repudiation, certification, configuration<br />

control, resource custidian, defense, domains, system security principles,<br />

information operations, records management, sensitivity, zoning, aggregation,<br />

end systems, operating systems and organizational security procedures,<br />

security tools, open systems interconnect, due care, facility support systems,<br />

media, alarms, signals, reports, non-repudiation, violations, modes <strong>of</strong><br />

operation.<br />

Security countermeasures - education, training and awareness<br />

Surveillance<br />

Assessment<br />

Roles <strong>of</strong> various organizational personnel<br />

Personnel security practices and procedures<br />

Purposes <strong>of</strong> awareness, training and education<br />

Training <strong>of</strong> administrators and managers<br />

Protection <strong>of</strong> assets<br />

Security accreditation<br />

Administrative policies<br />

Password management and policies<br />

Assessment preparation<br />

Legal aspects<br />

Agency specific security policies, points <strong>of</strong> contact and control<br />

Security planning<br />

Contingency planning, disaster recovery<br />

Configuration management<br />

24. Privacy in Databases<br />

Publications <strong>of</strong> aggregate data from sensitive statistical databases<br />

Inference<br />

Privacy aspects <strong>of</strong> data mining<br />

Learning Outcomes<br />

On completing this course <strong>the</strong> student should be able to:<br />

Describe <strong>the</strong> functioning <strong>of</strong> various types <strong>of</strong> malicious code, such as viruses,<br />

worms, trapdoors.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Enumerate set programming techniques that enhance security.<br />

Explain <strong>the</strong> various controls available for protection against internet attacks,<br />

including au<strong>the</strong>ntication, integrity check, firewalls, and intruder detection<br />

systems.<br />

Describe <strong>the</strong> different ways <strong>of</strong> providing au<strong>the</strong>ntication <strong>of</strong> a user or program.<br />

Describe <strong>the</strong> mechanisms used to provide security in programs, operating<br />

systems, databases and networks.<br />

Describe <strong>the</strong> background, history and properties <strong>of</strong> widely-used encryption<br />

algorithms such as DES, AES, and RSA.<br />

Describe legal, privacy and ethical issues in computer security.<br />

List and explain <strong>the</strong> typical set <strong>of</strong> tasks required <strong>of</strong> a system security<br />

administrator.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 104


Faculty <strong>of</strong> Technology<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Compare different access control, file protection or au<strong>the</strong>ntication mechanisms.<br />

Set up file protections in a UNIX or Windows file system to achieve a given<br />

purpose.<br />

Incorporate encryption, integrity check and/or au<strong>the</strong>ntication into a given<br />

program or algorithm.<br />

Distinguish between steganography and watermarking as document modification<br />

methods.<br />

Appraise a given code fragment for vulnerabilities.<br />

Appraise a given protocol for security flaws.<br />

Design a security protocol for a given application.<br />

Formulate a security plan for a given scenario, including risk analysis,<br />

organizational security policies, and planning for physical security and natural<br />

disasters.<br />

Recommended and Reference Books<br />

[1] Matt Bishop, 2005, Introduction to Computer Security, Addison Wesley<br />

[2] William Stallings, 2003, Network Security Essentials, 2nd edition. Prentice<br />

Hall. ISBN: 0130351288<br />

[3] William Stallings, 2004, Data & Computer Communications, 7th Edition,<br />

Prentice Hall<br />

[4] Saadat Malik, 2002, Network Security Principles and Practices (CCIE<br />

Pr<strong>of</strong>essional Development). Pearson Education. ISBN: 1587050250<br />

[5] Kaufman, Perlman, and Speciner, Network Security, 2 nd edition, ISBN:<br />

0130460192.<br />

[6] Ross Anderson's, 2001, Security Engineering, 2nd edition. Wiley, ISBN<br />

0470068523<br />

[7] Charles P. Pfleeger, Shari Lawrence Pfleeger, 2003, Security in Computing,<br />

McGraw-Hill 3rd edition, Prentice Hall.<br />

CMP4102: Instrumentation and Control Engineering<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WE WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

The computer is an electronic device whose design and manufacture utilizes a great deal <strong>of</strong><br />

instrumentation and control engineering concepts. A student <strong>of</strong> computer engineering has to be<br />

exposed to <strong>the</strong> relevance <strong>of</strong> <strong>the</strong>se fundamental concepts in <strong>the</strong> design <strong>of</strong> computer circuitry.<br />

Objectives<br />

This course aims at:<br />

<br />

Enabling student understand that control systems are a daily phenomena, that<br />

virtually everything needs feedback, that electronic or electromechanical systems<br />

most times include a feedback loop, ei<strong>the</strong>r explicitly or implicitly.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 105


Faculty <strong>of</strong> Technology<br />

<br />

<br />

<br />

<br />

<br />

Giving <strong>the</strong> student knowledge <strong>of</strong> analog and digital control engineering concepts.<br />

This course aims to help <strong>the</strong> student with:<br />

Knowledge <strong>of</strong> procedures for measuring and improving <strong>the</strong> reliability <strong>of</strong> digital<br />

components within measuring systems.<br />

Knowledge <strong>of</strong> <strong>the</strong> formal standards governing instrument calibration procedures<br />

and measurement system performance.<br />

An introduction on <strong>the</strong> topic <strong>of</strong> sensors and <strong>the</strong>ir use within instrumentation<br />

systems.<br />

Knowledge <strong>of</strong> <strong>the</strong> principles and <strong>the</strong>ory <strong>of</strong> measurement<br />

Course Content<br />

1. Review <strong>of</strong> Measurement Specification<br />

Standards, units- instrument types<br />

performance characteristics: static and dynamic characteristic<br />

2. Measuring system<br />

3. Analogue Instruments<br />

Moving coil,<br />

iron instruments<br />

4. Digital Instruments<br />

Multimeters<br />

data analysers<br />

signal syn<strong>the</strong>sisers.<br />

5. Counters and timers<br />

6. Measuring Errors<br />

Random errors<br />

Systematic errors<br />

7. Transducers<br />

Measurement <strong>of</strong> displacement<br />

velocity and acceleration<br />

time and frequency<br />

light,<br />

temperature, volume, pressure, flow and force<br />

8. Analogue Data Processing<br />

The operational amplifier<br />

Characteristics<br />

Configurations<br />

9. Simulation <strong>of</strong> differential equations and transfer function<br />

10. Data Acquisition and Conversion<br />

Sampling <strong>the</strong>orem<br />

Quantisation<br />

Multiplexing<br />

filtering sample and hold<br />

Bridge Circuits<br />

11. Introduction to design <strong>of</strong> feedback systems<br />

Properties and advantages <strong>of</strong> feedback systems<br />

12. Time-Domain And Frequency-Domain Performance Measures<br />

13. Stability And Degree Of Stability<br />

14. Complex Plane Analysis<br />

Algebra<br />

Applications to Control Engineering<br />

15. Stability Criteria<br />

Bachelor <strong>of</strong> Science in Computer Engineering 106


Faculty <strong>of</strong> Technology<br />

Routh’s Criterion<br />

Root locus method<br />

Nyquist criterion<br />

16. Bode Plots<br />

Introduction<br />

Frequency response analysis<br />

17. Unit Circle<br />

PID Compensator<br />

time response<br />

18. State Space Analysis<br />

Observability<br />

Controllability and <strong>the</strong> corresponding vectors<br />

19. Digital Control System<br />

z transforms<br />

Jury Test<br />

Learning Outcomes<br />

The student will:<br />

Be able to comfortably check for stability <strong>of</strong> any system using any criteria.<br />

Understand <strong>the</strong> concept <strong>of</strong> control system engineering, why it is carried out and will<br />

appreciate its application in digital control.<br />

Acquire knowledge <strong>of</strong> <strong>the</strong> type <strong>of</strong> measuring instruments and be able to appreciate<br />

why certain instruments are m ore favourable in a particular environment and<br />

requirement (accuracy or precision among o<strong>the</strong>rs);<br />

Understand <strong>the</strong> types <strong>of</strong> errors that occur during measurement and how best <strong>the</strong>y can<br />

be minimised during experimental setup.<br />

Acquire concepts on sensors and <strong>the</strong>ir use in design <strong>of</strong> automated systems.<br />

Recommended Books and References<br />

[1] William L. Brogan, Modern Control Theory, 2 nd ed., Prentice-Hall, 1985<br />

[2] Nise, N. S, Control Systems Engineering, 3rd ed., New York, NY: Wiley, 2000.<br />

[3] Allan S. Morris, Measurement and Instrumentation Principles, 3 rd ed., Butterworth<br />

Heinemann, 2001<br />

[4] K. Ogata, Discrete- Time Control Systems<br />

CMP4104: Digital Image and Video Processing<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

30 30 00 45 100 60 40 3<br />

Rationale<br />

This course covers fundamental <strong>the</strong>ories and techniques for efficient representation,<br />

processing, and communication <strong>of</strong> digital images and video. It presents <strong>the</strong> main<br />

concepts, results, and techniques that are <strong>the</strong> foundations <strong>of</strong> current academic research<br />

and industry practice in digital image processing.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 107


Faculty <strong>of</strong> Technology<br />

Objectives<br />

To equip <strong>the</strong> student with techniques applied in digital image and video<br />

processing such as filtering, enhancement and motion estimation<br />

To impart <strong>the</strong> computer engineering student with skills necessary to select<br />

appropriate image and compression techniques to achieve a particular practical<br />

goal.<br />

To introduce to <strong>the</strong> student <strong>the</strong> protocols used for transmission and storage <strong>of</strong> digital<br />

images and video.<br />

To introduce to <strong>the</strong> students <strong>the</strong> inherent limitations imposed by contemporary<br />

hardware and s<strong>of</strong>tware on <strong>the</strong> processing <strong>of</strong> digital image and video.<br />

Course Content<br />

1. Introduction<br />

Digital image representation<br />

Visual perception,<br />

Image sampling and quantization.<br />

Basics <strong>of</strong> digital video<br />

Digital video formats.<br />

2. Image Enhancement<br />

Noise reduction methods<br />

Contrast enhancement methods<br />

Edge sharpening methods<br />

3. Image Restoration<br />

Inverse filtering<br />

Least squares restoration<br />

Constrained least squares method<br />

Iterative methods<br />

Extrapolation and super resolution methods<br />

4. Image Compression<br />

Concept and techniques for entropy coding<br />

Scalar and vector quantization methods for image coding<br />

JPEG image compression standard<br />

Sub band/wavelet image compression<br />

lossless image compression<br />

5. Motion analysis:<br />

Real vs apparent motion<br />

Motion modeling,<br />

Spatial-temporal constraint methods (optical flow equation),<br />

Block-matching methods<br />

Mesh-based methods<br />

Global motion estimation<br />

Multi-resolution approach<br />

Motion segmentation<br />

6. Video compression:<br />

Information bounds for lossless and lossy source coding<br />

Transform coding, predictive coding<br />

Motion compensated coding<br />

Scalable video coding<br />

Bachelor <strong>of</strong> Science in Computer Engineering 108


Faculty <strong>of</strong> Technology<br />

Multiview/stereo/mesh coding<br />

Video compression standards and Applications<br />

Video Watermarking<br />

Learning Outcomes<br />

On completing this course <strong>the</strong> student should be able to:<br />

Understand <strong>the</strong> basic information <strong>of</strong> Video and images<br />

Understand <strong>the</strong> various compression techniques and work with ei<strong>the</strong>r raw or<br />

compressed data<br />

Understand <strong>the</strong> frequency components <strong>of</strong> image and video data<br />

Implement data compression techniques<br />

Work with Image or Video File formats<br />

Perform motion-compensated predictive coding <strong>of</strong> video using forward,<br />

backward, and bidirectional predictive methods.<br />

Select an appropriate encoding method for each macro block in a video<br />

sequence.<br />

Know basic features <strong>of</strong> prominent image and video compression standards.<br />

Recommended and Reference Books<br />

[1] Y. Wang, J. Osternmann, Y. Zhang , 2002, Video Processing &<br />

Communication, Prentice Hall, ISBN 0-13-017547-1<br />

[2] A. Murat Tekalp , 1995, Digital Video Processing , Prentice-Hall, ISBN 0-13-<br />

190075-7<br />

[3] F. Halsall, 2001, Multimedia Communications, Addison-Wesley, ISBN:<br />

0201398184<br />

[4] B. J. Sheu and M. Ismail, 1998, Multimedia Technology for Applications,<br />

IEEE Press, ISBN: 0780311744<br />

[5] M-T & Reibman ,2001, Compressed Video Over Networks, Marcel<br />

Dekker,New York.<br />

[6] David A. Forsyth and Jean Ponce , 2002, Computer Vision: A Modern<br />

Approach , Prentice Hall; US ed edition , ISBN-10: 0130851981<br />

[7] Rafael C. Gonzalez & Richard E. Woods , 2002, Digital Image Processing,<br />

Addison-Wesley, 2nd edition, ISBN: 0201180758.<br />

[8] Yun Q. Shi & Huifang, 2000, Image and Video Compression for Multimedia<br />

Engineering: Fundamentals, Algorithms, and Standards, Sun. CRC Press,<br />

ISBN: 0-8493-3491-8.<br />

[9] Anil K. Jain, 1989, Fundamentals <strong>of</strong> Digital Image Processing, Prentice Hall,<br />

ISBN: 0013-336165-9. Handbook <strong>of</strong> Image and Video Processing, Al Bovik<br />

Ed., 2nd Edition, <strong>Academic</strong> Press, 2005.<br />

[9] Al Bovik Ed., 2005, Handbook <strong>of</strong> Image and Video Processing, 2nd Edition,<br />

<strong>Academic</strong> Press,<br />

CMP4204: Wireless Technologies<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

30 30 00 45 100 60 40 3<br />

Rationale<br />

Interest in wireless technology is booming and wireless networks are enjoying very fast<br />

Bachelor <strong>of</strong> Science in Computer Engineering 109


Faculty <strong>of</strong> Technology<br />

growth. This course introduces students to advanced network concepts with<br />

application to wireless technologies. They will be introduced to various <strong>the</strong> wireless<br />

and mobile network- technologies and protocols with an emphasis on <strong>the</strong>ir utilization<br />

in various real world computing and communications situations.<br />

Objectives<br />

To recap <strong>the</strong> OSI and <strong>the</strong> TCP/IP models and <strong>the</strong>ir application in computer<br />

networks<br />

To introduce to <strong>the</strong> student various wireless and mobile network- technologies<br />

and protocols with an emphasis on impact to various layers <strong>of</strong> <strong>the</strong> OSI stack.<br />

To introduce <strong>the</strong> students to <strong>the</strong> established and next generation wireless systems<br />

and introduce <strong>the</strong> scenarios where <strong>the</strong>y compare and (possibly) complement each<br />

o<strong>the</strong>r.<br />

To sensitize <strong>the</strong> computer engineering student about <strong>the</strong> potential security<br />

concerns that arise when utilizing wireless systems and how to deal with <strong>the</strong>m<br />

Course Content<br />

1. Introduction to Wireless Communications<br />

Major wireless technologies are used today<br />

Applications <strong>of</strong> wireless technology<br />

Pros and Cons <strong>of</strong> wireless technology<br />

Wireless techniques used to transmit data<br />

Spread spectrum Technology ( FHSS and DSSS)<br />

2. Radio communication systems and standards<br />

Factors affecting <strong>the</strong> design <strong>of</strong> radio system<br />

Antenna Systems<br />

Frequency allocation and modulation Techniques<br />

Telecommunications Standards<br />

Telecommunications standards organizations<br />

3. Communications Models<br />

Difference between <strong>the</strong> OSI communications model and IEEE 802<br />

communication standards.<br />

TCP Communication model<br />

4. Low- Speed Wireless Local Area Network<br />

Introduction to WLAN<br />

Components and modes <strong>of</strong> a WLAN<br />

WLAN and wireless media<br />

The MAC frame format.<br />

Function <strong>of</strong> an IEEE 802.11b Network<br />

Discuss Mobile IP<br />

Tell how IEEE 802.11a networks function, and how <strong>the</strong>y differ from IEEE<br />

802.11b networks<br />

5. High Speed WLAN<br />

Mobile IP Technology<br />

IEEE 802.11a networks<br />

Difference between IEEE 802.11a and IEEE 802.11b networks<br />

Advantages and Disadvantages <strong>of</strong> an IEEE 802.11g networks.<br />

HiperLAN/2 networks.<br />

Low speed and high speed WLANs<br />

6. Personal Area Network (Bluetooth)<br />

Bachelor <strong>of</strong> Science in Computer Engineering 110


Faculty <strong>of</strong> Technology<br />

Introduction to Bluetooth<br />

Bluetooth network topology<br />

Piconet<br />

Bluetooth device pr<strong>of</strong>iles<br />

7. Installing and securing an Adhoc network.<br />

Installing, configuring and securing Infrastructure network<br />

Creating Adhoc networks using IEEE 802.11a, b and g client cards.<br />

Security features used in Adhoc networks<br />

Installing and securing an Adhoc network.<br />

Steps for setting up Infrastructure WLAN<br />

Providing security in an enterprise environment.<br />

8. Wireless MANs.<br />

Cellular, Voice and Data Networks<br />

Cellular networks<br />

Functioning <strong>of</strong> AMPs CDPD, GSM GPRS and CDMA based systems.<br />

9. Wireless WAN<br />

Wireless Internet<br />

WAP and its use in wireless internet.<br />

Introduction to WML<br />

Brief introduction to J2ME<br />

Learning Outcomes<br />

On completing this course <strong>the</strong> student should be able to:<br />

Understand different types <strong>of</strong> wireless local area network (WLAN) technologies.<br />

Understand <strong>the</strong> significance that specific layers <strong>the</strong> TCP/IP protocol have in<br />

wireless communications.<br />

Identify <strong>the</strong> different types <strong>of</strong> wireless communications protocols contained in<br />

<strong>the</strong> IEEE 802.11 WLAN standard.<br />

Identify <strong>the</strong> most critical antenna design parameters and understand <strong>the</strong>ir impact<br />

in wireless communications.<br />

Understand radio frequency (RF) propagation.<br />

Understand spread spectrum technology.<br />

Demonstrate <strong>the</strong> ability to design and implement a wireless data collection<br />

system.<br />

Demonstrate <strong>the</strong> ability to communicate and document technical information in a<br />

pr<strong>of</strong>essional, structured, timely, and effective manner.<br />

Recommended and Reference Books<br />

[1] William Stallings, 2005, Wireless Communications and Networks, 2nd Edition,<br />

Pearson Prentice Hall<br />

[2] Jorge Olenewa, Mark Ciampa, Wireless# Guide to Wireless Communications,<br />

2 nd Edition, Thompson Course Technology. ISBN-13 978-1-4188-3699-3<br />

[3] William Stallings, 2004, Data & Computer Communications, 7th Edition,<br />

Prentice Hall<br />

[4] William C. Lee, 2005, Wireless and Cellular Telecommunications, 3rd edition,<br />

McGraw Hill<br />

[5] Fred Halsall, 2005, Computer Networking and <strong>the</strong> Internet, Addison Wesley<br />

[6] T.S. Rappaport, 2002, Wireless Communications: Principles & Practice, 2 nd<br />

Edition, Prentice Hall<br />

[7] W.C.Y. Lee, 1998, Mobile Communication Engineering, Theory and<br />

Bachelor <strong>of</strong> Science in Computer Engineering 111


Faculty <strong>of</strong> Technology<br />

Applications", 2 nd Edition, McGraw-Hill<br />

[8] Fred Halsall, 2001, Multimedia Communications, Applications, Networks,<br />

Protocols and Standards, Addison Wesley<br />

CMP4205: Audio and Speech Signal Processing<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WEM WCM CU<br />

30 30 00 45 100 60 40 3<br />

Rationale<br />

Speech processing has been one <strong>of</strong> <strong>the</strong> main application areas <strong>of</strong> digital signal<br />

processing for several decades now, and as new technologies like voice over IP,<br />

automated call centers, voice browsing and biometrics find commercial markets,<br />

speech seems set to drive a range <strong>of</strong> new digital signal processing techniques for some<br />

time to come. This course provides not only <strong>the</strong> technical details <strong>of</strong> ubiquitous<br />

techniques like linear predictive coding, Mel frequency cepstral coefficients, Gaussian<br />

mixture models and hidden Markov models, but <strong>the</strong> rationale behind <strong>the</strong>ir application<br />

to speech and an understanding <strong>of</strong> speech as a signal.<br />

Objectives<br />

To provide students with <strong>the</strong> knowledge <strong>of</strong> basic characteristics <strong>of</strong> speech signal<br />

in relation to production and hearing <strong>of</strong> speech by humans.<br />

To describe basic algorithms <strong>of</strong> speech analysis common to many applications.<br />

To give an overview <strong>of</strong> applications (recognition, syn<strong>the</strong>sis, coding) and to<br />

inform about practical aspects <strong>of</strong> speech algorithms implementation.<br />

To give <strong>the</strong> student practical experience with <strong>the</strong> implementation <strong>of</strong> several<br />

components <strong>of</strong> speech processing systems.<br />

Course Content<br />

1. Introduction to Digital processing <strong>of</strong> speech signals<br />

Recording; sampling, quantization<br />

Speech spectra; continuous<br />

Fourier transform; what do we get when we sample<br />

Random signals, power spectral density<br />

Modification <strong>of</strong> speech ; linear filters<br />

Frequency response <strong>of</strong> a filter<br />

2. Pre-processing <strong>of</strong> speech:<br />

Dc removal, preemphasis, frames, basic parameters.<br />

Spectrogram.<br />

Speech production; articulatory organs - vocal cords and vocal tract vs.<br />

excitation and filter.<br />

Characteristics in time and frequency,<br />

Influence <strong>of</strong> excitation and filter<br />

What can be seen on long- and short-term spectrograms.<br />

How to separate excitation and filter; cepstrum, MFCC.<br />

3. Linear-predictive model:<br />

Bachelor <strong>of</strong> Science in Computer Engineering 112


Faculty <strong>of</strong> Technology<br />

Separation <strong>of</strong> vocal tract characteristics from excitation - applications in<br />

coding and recognition<br />

Prediction <strong>of</strong> a sample from past samples - linear prediction (LP)<br />

Error <strong>of</strong> LP; Obtaining <strong>the</strong> error using a single filter<br />

Determination <strong>of</strong> vocal tract characteristics using LP analysis<br />

Spectrum estimated by LP<br />

Features derived from LP - LAR and LSF<br />

LPC-cepstrum<br />

4. Determination <strong>of</strong> fundamental frequency (F0)<br />

Terminology<br />

Characteristics <strong>of</strong> F0 for males, females and children<br />

Use in speech processing systems<br />

Methods based on autocorrelation function<br />

NCCF. Long-term predictor and cepstral analysis for F0 determination<br />

Reliability and problems <strong>of</strong> F0 detectors<br />

5. Coding I:<br />

Aims <strong>of</strong> coding<br />

Bit-rate, objective and subjective measurements <strong>of</strong> quality<br />

Classification <strong>of</strong> coders according to bit-rate<br />

Waveform coders.<br />

Vocoders - LPC.<br />

Vector quantization in speech coding<br />

6. Coding II.<br />

CELP, Coding in GSM networks: GSM, GSM-EFR, GSM-HR, Voice over<br />

IP<br />

Introduction to speech recognition - <strong>the</strong> task, classification <strong>of</strong> recognizers:<br />

isolated words - connected words - continuous speech, speaker dependent -<br />

speaker independent.<br />

Basic function blocks.<br />

Voice activity detection (VAD) for isolated words.<br />

7. Recognition using DTW.<br />

Recognition based on distance <strong>of</strong> speech frames - various definitions <strong>of</strong><br />

distance. \<br />

Timing: linear modification, dynamic programming (Dynamic Time Warping<br />

DTW).<br />

8. Hidden Markov models (HMM I.):<br />

Introduction, motivations and relation to DTW<br />

Structure <strong>of</strong> <strong>the</strong> model<br />

Gaussian distributions<br />

State sequences<br />

Probability <strong>of</strong> a sequence <strong>of</strong> states, Baum-Welch and Viterbi probabilities<br />

Training <strong>of</strong> models: Baum-Welch, recognition: Viterbi<br />

Token passing<br />

Connected words<br />

Continuous speech with large vocabulary: recognition <strong>of</strong> small units -<br />

phonemes<br />

Phonetics: vowels and consonants, characteristics, classification <strong>of</strong> phonemes<br />

Bachelor <strong>of</strong> Science in Computer Engineering 113


Faculty <strong>of</strong> Technology<br />

International phoneme alphabets: IPA, SAMPA, TIMIT<br />

Co-articulation<br />

Applications in recognition: context-dependent triphones<br />

Large vocabulary, Language modeling, lattice rescoring, forced alignment<br />

9. Features for recognition<br />

Suppression <strong>of</strong> pitch, de-correlation, link with spectral envelope<br />

LPCC, MFCC, de-correlation: PCA, LDA, HLDA, channel robustness:<br />

normalization. - delta, delta-delta<br />

TRAPs a FeatureNet, neural nets<br />

Tools for speech processing<br />

10. Speech syn<strong>the</strong>sis<br />

Structure <strong>of</strong> <strong>the</strong> syn<strong>the</strong>sizer<br />

Conversion <strong>of</strong> written text to speech: text-to-speech<br />

Text normalization<br />

Prosody (melody, accents, timing) in syn<strong>the</strong>sis<br />

Units for syn<strong>the</strong>sis - manual and automatic selection, corpus-based syn<strong>the</strong>sis<br />

Generation <strong>of</strong> signal in time and frequency domains: PSOLA and HNM.<br />

Applications, SW for syn<strong>the</strong>sis: EPOS, MBROLA, Festival<br />

11. Fur<strong>the</strong>r topics in speech processing<br />

Speaker identification/verification (principles, false acceptation, false rejection,<br />

cost function, optimal operation point, EER)<br />

<br />

<br />

<br />

<br />

<br />

<br />

Phoneme recognition<br />

LVCSR<br />

Recognizer merging<br />

Very Low Bit Rate coding<br />

audio-video recognition<br />

Speech databases<br />

Learning Outcomes<br />

On completing this course <strong>the</strong> student should be able to:<br />

Describe <strong>the</strong> key aspects <strong>of</strong> typical speech signals<br />

Express <strong>the</strong> speech signal in terms <strong>of</strong> its time domain and frequency domain<br />

representations and <strong>the</strong> different ways in which it can be modelled;<br />

Derive expressions for simple features used in speech classification applications;<br />

Explain <strong>the</strong> operation <strong>of</strong> example algorithms covered in lectures, and discuss <strong>the</strong><br />

effects <strong>of</strong> varying parameter values within <strong>the</strong>se;<br />

Syn<strong>the</strong>size block diagrams for speech applications, explain <strong>the</strong> purpose <strong>of</strong> <strong>the</strong><br />

various blocks, and describe in detail algorithms that could be used to implement<br />

<strong>the</strong>m;<br />

Implement selected components <strong>of</strong> speech processing systems, including speech<br />

recognition and speaker recognition, using a modeling s<strong>of</strong>tware package<br />

Deduce <strong>the</strong> behavior <strong>of</strong> previously unseen speech processing systems and<br />

hypo<strong>the</strong>size about <strong>the</strong>ir merits.<br />

Recommended and Reference Books<br />

Bachelor <strong>of</strong> Science in Computer Engineering 114


Faculty <strong>of</strong> Technology<br />

[1] Deller, J. R., Proakis, J. G. and Hansen, J. H. L, 1993, Discrete-Time<br />

Processing <strong>of</strong> Speech Signals, Macmillan, Toronto<br />

[2] Quatieri, T. F, 2002, Discrete-Time Speech Signal Processing, Prentice-Hall,<br />

New Jersey<br />

[3] O’Shaughnessy, D, 1987, Speech Communication: Human and Machine,<br />

Addison-Wesley, Reading, MA<br />

[4] Rabiner, L. R., and Juang, B.-H, 1993, Fundamentals <strong>of</strong> Speech Recognition,<br />

Prentice-Hall, New Jersey.<br />

[5] Rabiner, L. R., and Schafer, R. W, 1978, Digital processing <strong>of</strong> speech signals,<br />

Prentice-Hall, New Jersey<br />

[6] Huang, A. Acero, H. Hon, and R. Reddy, 2001, Spoken Language<br />

Processing: A Guide to Theory, Algorithm and System Development, Prentice-<br />

Hall<br />

CMP4201: Research Project<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WE WCM CU<br />

00 120 30 60 100 60 40 4<br />

Rationale<br />

This course involves <strong>the</strong> execution <strong>of</strong> a project oriented toward providing experience<br />

in establishment <strong>of</strong> objectives and criteria, syn<strong>the</strong>sis, analysis, construction, testing, and<br />

evaluation; development <strong>of</strong> student creativity through <strong>the</strong> solution <strong>of</strong> open-ended<br />

problems; instruction in design methodology. The student(s) undertake <strong>the</strong> project<br />

proposed in TEC4101 Research Methods, which involves addressing a significant<br />

technical problem <strong>the</strong>y embark on this under <strong>the</strong> guidance <strong>of</strong> a supervisor; student are<br />

expected to demonstrate an ability to apply <strong>the</strong> disciplined approaches <strong>of</strong> <strong>the</strong> course in<br />

addressing <strong>the</strong> solution to <strong>the</strong> problem; students produce a final <strong>the</strong>sis on <strong>the</strong> work and<br />

this toge<strong>the</strong>r with a demonstration <strong>of</strong> <strong>the</strong> working system will form <strong>the</strong> assessment.<br />

Course Content<br />

On approval <strong>of</strong> <strong>the</strong> proposal developed in TEC4101 Research Methods, <strong>the</strong> student(s)<br />

proceeds with data collection, analysis, design and implementation during this<br />

semester. All work done is compiled into a report which reflects <strong>the</strong> capacity <strong>of</strong> <strong>the</strong><br />

student to apply <strong>the</strong>oretical and practical knowledge in Computer Engineering. The<br />

student shall hand submit this dissertation which should represent original work in<br />

order to sit for <strong>the</strong> final written examinations. Each candidate shall also present <strong>the</strong><br />

report orally to a panel <strong>of</strong> Examiners. A student who has made satisfactory progress in<br />

<strong>the</strong> project work but needs more time to complete <strong>the</strong> project shall be allowed a<br />

maximum <strong>of</strong> one month after <strong>the</strong> end <strong>of</strong> second semester <strong>of</strong> <strong>the</strong> final year within which<br />

to complete. Any student who fails to complete <strong>the</strong> project within <strong>the</strong> added one<br />

month shall be deemed a failure and will <strong>the</strong>refore start afresh on a new project when<br />

next <strong>of</strong>fered.<br />

Learning Outcomes<br />

On completion <strong>of</strong> this course <strong>the</strong> student should be able to draw upon knowledge<br />

gained from all courses in <strong>the</strong> Computer Engineering Programme to:<br />

<br />

<br />

Organize and bring to fruition a major individual or team research project<br />

Sustain a self-disciplined and concerted effort on a single project over an<br />

Bachelor <strong>of</strong> Science in Computer Engineering 115


Faculty <strong>of</strong> Technology<br />

<br />

<br />

extended period <strong>of</strong> time, <strong>the</strong> completion <strong>of</strong> which requires <strong>the</strong> meeting <strong>of</strong><br />

multiple deadlines and fruitful interaction with supervisors, resource personnel,<br />

and fellow students<br />

Improve upon abilities to access, evaluate and syn<strong>the</strong>size information from<br />

primary literature and o<strong>the</strong>r credible relevant sources<br />

Improve upon oral and written communication skills<br />

TEC4201: Entrepreneurship<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WE WCM CU<br />

60 00 00 60 100 60 40 4<br />

Rationale<br />

Entrepreneurship is a specialized business course designed to provide students <strong>the</strong><br />

skills needed to effectively organize, develop, create, and manage <strong>the</strong>ir own business.<br />

This course is based upon <strong>the</strong> Marketing Education Framework which includes<br />

business, management, and entrepreneurship; communication and interpersonal skills;<br />

economics; and pr<strong>of</strong>essional development foundations. Emphasis is placed on <strong>the</strong><br />

functions <strong>of</strong> marketing: distribution, financing, marketing information management,<br />

pricing, product/service management, promotion, and selling. Additional topics to be<br />

addressed are assessment <strong>of</strong> personal skills, <strong>the</strong> components <strong>of</strong> <strong>the</strong> free enterprise<br />

system and its place in our global economy, human relations and interpersonal skills,<br />

<strong>the</strong> importance <strong>of</strong> business ethics, and <strong>the</strong> role quality and service play in business.<br />

Students will develop a written business plan for a business <strong>of</strong> <strong>the</strong>ir choice.<br />

Objectives<br />

Increasingly, small 'start-up' firms are having a significant impact on cross-border<br />

commerce. Reflecting this development, this course has he following objectives.<br />

To help students understand <strong>the</strong> particular challenges <strong>of</strong> entrepreneurial action in<br />

international context.<br />

To provide an educational vehicle for developing a draft international business<br />

plan for future use in seeking venture capital and o<strong>the</strong>r support.<br />

To familiarization with all <strong>the</strong> classical elements <strong>of</strong> a Business Plan and<br />

development <strong>of</strong> skill in understanding <strong>the</strong> factors that venture capitalists look<br />

for in evaluating such plans.<br />

Students critically analyze entrepreneurial ventures from history and field’s<br />

literature to identify causal factors in success or failure <strong>of</strong> such ventures.<br />

To identify <strong>the</strong> distinctive bases <strong>of</strong> sustainable competitive advantage that are<br />

essential to <strong>the</strong> success <strong>of</strong> an entrepreneurial firm, never more crucially than in<br />

international context.<br />

Course Content<br />

1. Entrepreneurship Defined<br />

Venture, venture capitalist, and adventure<br />

Goal setting/planning<br />

Risk taking/resource management<br />

The role demands <strong>of</strong> business<br />

Bachelor <strong>of</strong> Science in Computer Engineering 116


Faculty <strong>of</strong> Technology<br />

Reasons for failure (internal and external limits)<br />

2. Variety in Entrepreneurship<br />

The concept <strong>of</strong> "change agent" and "intrapreneurship"<br />

A manager verses an entrepreneur<br />

Adv. and disadvantages <strong>of</strong> working for self versus o<strong>the</strong>rs<br />

Social ventures<br />

The pr<strong>of</strong>it motive versus living a dream<br />

3. Characteristics Successful Entrepreneurs Share<br />

Growth <strong>of</strong> women entrepreneurs<br />

Factors most and least important to entrepreneurs<br />

Surveys: Are you an entrepreneur<br />

4. Entrepreneurial Skills<br />

Seven steps to a successful venture<br />

Trying a venture<br />

Finding a mentor<br />

5. Innovation:<br />

The challenge <strong>of</strong> innovation and how to encourage it<br />

Student Project<br />

6. Identifying and Assessing Opportunity<br />

Pr<strong>of</strong>iling Entrepreneurs<br />

Market research<br />

Student Project<br />

7. You - <strong>the</strong> Idea Machine<br />

Examining <strong>the</strong> creative process<br />

Idea generation<br />

Left and Right brain thinkers<br />

Student Project<br />

8. Planning Your Venture<br />

Goal setting - vision<br />

Financial planning - costs, break-even, statements<br />

Market Strategy - target market, surveys, advertising<br />

9. Business Plan Generation<br />

The Major Course Project<br />

Learning Outcomes<br />

Upon completion <strong>of</strong> this course, a student should be able to:<br />

Identify and <strong>the</strong> describe <strong>the</strong> major steps and requirements for starting a smallscale<br />

business<br />

Develop a business plan<br />

Explain <strong>the</strong> role <strong>of</strong> finance and financial management in <strong>the</strong> health <strong>of</strong> a business<br />

Appreciate <strong>the</strong> levels and impact <strong>of</strong> risk and risk taking in a business<br />

Describe strategies for nurturing or growing a business<br />

Recommended and Reference Books<br />

[1] Peter F. Drucker(2006). Innovation and Entrepreneurship. Collins Business.<br />

ISBN-10: 0060851139, ISBN-13: 978-0060851132<br />

[2] Bruce Barringer and Duane Ireland (2007). Entrepreneurship: Successfully<br />

Launching New Ventures. Prentice Hall; 2 nd Edition. ISBN-10: 0132240572,<br />

ISBN-13: 978-0132240574<br />

[3] Robert Hisrich, Michael Peters and Dean Shepherd, (2006). Entrepreneurship.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 117


Faculty <strong>of</strong> Technology<br />

McGraw-Hill/Irwin; 7 th Edition. ISBN-10: 0073210560, ISBN-13: 978-<br />

0073210568<br />

CMP4202: VLSI Systems Design<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WE WCM CU<br />

45 30 00 60 100 60 40 4<br />

Rationale<br />

The design <strong>of</strong> <strong>the</strong> integrated circuits used to implement computers and associated hardware<br />

contains some core material. This core includes basic properties <strong>of</strong> materials, <strong>the</strong> structure <strong>of</strong><br />

inverters, combinational and sequential logic structures, and memories and logic arrays. This is<br />

a very broad area and it is expected that <strong>the</strong>re will be a great deal <strong>of</strong> variation between<br />

programs in <strong>the</strong> coverage <strong>of</strong> topics outside <strong>the</strong> core.<br />

Course Content<br />

1. History and Overview<br />

Indicate some reasons for studying VLSI and ASIC design<br />

Highlight some people that influenced or contributed to <strong>the</strong> area <strong>of</strong> VLSI and ASIC<br />

design<br />

Indicate some important topic areas such as MOS transistors, inverter structure,<br />

circuit performance, combinational and sequential circuits, memory and array<br />

structures, chip I/O design, and application-specific integrated circuits<br />

Describe a transistor and relate it to a semiconductor<br />

Indicate <strong>the</strong> characteristics <strong>of</strong> a MOS transistor<br />

Describe CMOS transistors and contrast <strong>the</strong>m with MOS technologies<br />

Describe some sequential logic circuits such as latches and clock distribution<br />

Describe <strong>the</strong> structure <strong>of</strong> memory design<br />

Contrast memory structures with array structures<br />

Contrast <strong>the</strong> advantages <strong>of</strong> SRAM and DRAM memory devices<br />

Describe at which point a circuit becomes a chip<br />

Provide some examples <strong>of</strong> application-specific integrated circuits<br />

Explore some additional resources associated with VLSI and ASIC design<br />

Explain <strong>the</strong> purpose and role <strong>of</strong> VLSI and ASIC design in computer engineering<br />

2. Electronic Properties Of Materials<br />

Solid-state materials<br />

Electronics and holes<br />

Doping, acceptors and donors<br />

p- and n-type material<br />

Conductivity and resistivity<br />

Drift and diffusion currents, mobility and diffusion<br />

3. Function Of The Basic Inverter Structure<br />

Connectivity, layout, and basic functionality <strong>of</strong> a CMOS inverter<br />

The CMOS inverter voltage transfer characteristic (VTC)<br />

Analysis <strong>of</strong> <strong>the</strong> CMOS VTC for switching threshold, V OH , V OL , V IH , V IL , and noise<br />

margins<br />

Effect <strong>of</strong> changing <strong>the</strong> inverter configuration on <strong>the</strong> CMOS VTC<br />

Connectivity and basic functionality <strong>of</strong> a Bipolar ECL inverter<br />

Bachelor <strong>of</strong> Science in Computer Engineering 118


Faculty <strong>of</strong> Technology<br />

Connectivity and basic functionality <strong>of</strong> a Bipolar TTL inverter<br />

4. Combinational Logic structures<br />

Basic CMOS gate design<br />

Layout techniques for combinational logic structures<br />

Transistor sizing for complex CMOS logic devices<br />

Transmission gates<br />

Architectural building blocks (multiplexers, decoders, adders, counters, multipliers)<br />

5. Sequential Logic Structures<br />

Storage mechanisms in CMOS logic<br />

Dynamic latch circuits<br />

Static latch and flip-flop circuits<br />

Sequential circuit design<br />

Single and multiphase clocking<br />

Clock distribution, clock skew<br />

6. Semiconductor memories and logic arrays<br />

Latches<br />

Flip-flops<br />

Dynamic read-write memory (DRAM) circuits<br />

Static read-write memory (SRAM) circuits<br />

Memory system organization<br />

Read-only memory circuits<br />

EPROM/EEPROM/Flash memory circuits<br />

Programmable Logic Array (PLA) circuits<br />

FPGA and related devices<br />

Sense amplifiers<br />

7. Chip input/output circuits<br />

General I/O pad issues<br />

Bonding pads<br />

ESD Protection circuits<br />

Input, Output, Bidirectional, and analog pads<br />

VDD and VSS pads<br />

Learning Outcomes<br />

Identify some contributors to VLSI and ASIC design and relate <strong>the</strong>ir achievements to<br />

<strong>the</strong> knowledge area.<br />

Define a semiconductor.<br />

Explain <strong>the</strong> difference between MOS and CMOS transistors.<br />

Define a sequential circuit.<br />

Identify some memory devices related to VLSI circuits.<br />

Define <strong>the</strong> meaning <strong>of</strong> a chip.<br />

Give an example <strong>of</strong> an ASIC chip design.<br />

Describe how computer engineering uses or benefits from VLSI and ASIC design.<br />

Understand <strong>the</strong> current carrying mechanism and <strong>the</strong> I/V characteristics <strong>of</strong> intrinsic<br />

and doped semiconductor materials.<br />

Understand how <strong>the</strong>se quantities reflect <strong>the</strong> ability <strong>of</strong> <strong>the</strong> inverter to operate in <strong>the</strong><br />

presence <strong>of</strong> noise.<br />

Understand how changing <strong>the</strong> configuration <strong>of</strong> <strong>the</strong> inverter and <strong>the</strong> MOSFETS that<br />

make it up changes <strong>the</strong> VTC and thus <strong>the</strong> inverter’s operation.<br />

Understand <strong>the</strong> method to perform circuit design for CMOS logic gates.<br />

Understand <strong>the</strong> techniques, such as Euler paths and stick diagrams, used to optimize<br />

<strong>the</strong> layout <strong>of</strong> CMOS logic circuits.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 119


Faculty <strong>of</strong> Technology<br />

Understand how <strong>the</strong> size for each transistor in a CMOS logic gate can be determined.<br />

Understand how to use charge storage (capacitance) and feedback to store values in<br />

CMOS logic.<br />

Understand <strong>the</strong> circuit design, functionality, advantages, and disadvantages <strong>of</strong><br />

dynamic latches in CMOS.<br />

Understand how we organize memory systems and why we do not typically organize<br />

<strong>the</strong>m in <strong>the</strong> most simplistic arrangement such as in a one-dimensional word array.<br />

Understand <strong>the</strong> basic steps <strong>of</strong> photolithography, its limitations, and how that<br />

determines minimum line width and device sizes.<br />

Understand <strong>the</strong> processing steps required for fabrication <strong>of</strong> CMOS devises and <strong>the</strong><br />

general results <strong>of</strong> each step.<br />

Recommended Books and References<br />

[1] David A. Hodges, Horace G. Jackson, and Resve A. Saleh, Analysis and<br />

Design <strong>of</strong> Digital Integrated Circuits, Third Edition, , McGraw-Hill, 2004.<br />

[2] Jan M. Rabaey, Anantha P. Chandrakasan, and Borivoje Nikolic, Digital<br />

Integrated Circuits, Second Edition, Prentice-Hall, 2002.<br />

[3] Neil H. E. Weste and Kamran Eshraghian, Principles <strong>of</strong> CMOS VLSI Design,<br />

Second Edition, Addison Wesley, 1993.<br />

[4] Neil H. E. Weste and David Harris, Principles <strong>of</strong> CMOS VLSI Design, Third<br />

Edition, Addison Wesley, 2004.<br />

[5] Sung-Mo (Steve) Kang and Yusuf Leblebici CMOS Digital Integrated Circuits<br />

Analysis and Design, Third Edition, , McGraw-Hill, 2002.<br />

[6] David A. Johns and Ken Martin, Analog Integrated Circuit Design, Wiley,<br />

1997.<br />

[7] Roubik Gregorian, Introduction to CMOS Op-Amps and Comparators, Wiley,<br />

1999.<br />

[8] R. Jacob Baker,CMOS: Circuit Design, Layout, and Simulation, Revised<br />

Second Edition, Wiley-IEEE Press, 2008.<br />

[9] R. Jacob Baker, CMOS Mixed-Signal Circuit Design, Second EditionWiley-<br />

IEEE Press, 2009.<br />

[10] Adel S. Sedra, Kenneth C. Smith, Microelectronic Circuits, Fifth Edition,<br />

Oxford University Press, 2003.<br />

[11] R. L. Geiger, P. E. Allen, and N. R. Strader, VLSI Design Techniques for<br />

Analog and Digital Circuits, McGraw-Hill, 1990.<br />

[12] John P. Uyemura, Brooks/Cole, Physical Design <strong>of</strong> CMOS Integrated Circuits<br />

Using L-Edit, 1995.<br />

[13] Clein, Newnes, CMOS IC Layout, Dan, 2000.<br />

[14] Ron Kielkowski, Inside SPICE: Overcoming <strong>the</strong> Obstacles <strong>of</strong> Circuit<br />

Simulation, Second Edition, McGraw-Hill, Inc., 1998. ISBN 0-07-913712-1<br />

[15] Daniel Foty, MOSFET Modeling with SPICE, Prentice Hall, 1997.<br />

[16] Yannis P. Tsividis, Operation and Modeling <strong>of</strong> <strong>the</strong> MOS Transistor, McGraw-<br />

Hill, 1987.<br />

[17] Ben Streetman, Sanyay Banerjee, Solid State Electronic Devices, Fifth Edition,<br />

Prentice Hall, 2000.<br />

[18] James D. Plummer, Michael D. Deal, Peter B. Griffin, Silicon VLSI<br />

Technology, Prentice Hall, 2000.<br />

Bachelor <strong>of</strong> Science in Computer Engineering 120


Faculty <strong>of</strong> Technology<br />

CMP4203: Lasers and Photonics<br />

Period per<br />

Week<br />

Contact<br />

Hour per<br />

Semester<br />

Weighted<br />

Total Mark<br />

Weighted<br />

Exam Mark<br />

Weighted<br />

Continuous<br />

Assessment<br />

Mark<br />

Credit<br />

Units<br />

LH PH TH CH WTM WE WCM CU<br />

30 30 00 45 100 60 40 3<br />

Rationale<br />

The content is designed to provide <strong>the</strong> foundations with which <strong>the</strong> operation <strong>of</strong> laser devices<br />

may be<br />

understood at <strong>the</strong> mechanistic level. Toge<strong>the</strong>r with skills acquired in related courses in <strong>the</strong><br />

Computer Engineering degree program, this provides <strong>the</strong> student with <strong>the</strong> skill base to approach<br />

<strong>the</strong> next level <strong>of</strong> accomplishment, namely where <strong>the</strong>y may be required to design and construct a<br />

laser-based device in a pr<strong>of</strong>essional situation.<br />

Objectives<br />

The design, construction and application <strong>of</strong> laser systems <strong>of</strong> various types is <strong>of</strong> considerable<br />

significance in modern technology. This course undertakes <strong>the</strong> development <strong>of</strong> a working<br />

understanding <strong>of</strong> <strong>the</strong> principles and properties <strong>of</strong> lasers and gives an introduction to photonics<br />

which involves <strong>the</strong> control <strong>of</strong> light.<br />

Course Content<br />

1. Historical Development Of The Laser<br />

Evolution from Masers<br />

Gordon Gould and Prokhorov’s contributions<br />

2. Atomic Theory Pertaining to Laser Development<br />

Review <strong>of</strong> atomic <strong>the</strong>ory<br />

Radiation and Infrared frequencies.<br />

Wavelength bands<br />

Gases in lasers.<br />

Solid state lasers<br />

3. Interaction <strong>of</strong> Light with Matter<br />

4. Optimal Mirror Cavities<br />

5. Three and Four Level Lasers<br />

6. Types <strong>of</strong> Lasers<br />

Molecular lasers<br />

Semiconductor lasers<br />

Gas lasers<br />

Chemical lasers<br />

Excimer lasers<br />

Solid-state lasers<br />

Fiber-hosted lasers<br />

Ruby, Nd:YAG, He-Ne Lasers<br />

7. Introduction To Optical Fibres<br />

History<br />

Optical fiber communication<br />

Fiber optic sensors<br />

Principle <strong>of</strong> operation<br />

Mechanisms <strong>of</strong> attenuation<br />

Manufacturing<br />

8. Q-Switching And Mode Locking<br />

Population Inversion<br />

Bachelor <strong>of</strong> Science in Computer Engineering 121


Faculty <strong>of</strong> Technology<br />

Average power <strong>of</strong> <strong>the</strong> laser<br />

High peak powers<br />

Modelocked laser<br />

Non-linearity in optical materials<br />

9. Non-Linear Optical Processes<br />

Types and Differences<br />

Hamonic Generation<br />

Advantage over linear processes<br />

Recommended and Reference Books<br />

[1] Saleh, B. E. A., and M. C. Teich, Fundamentals <strong>of</strong> Photonics, New York, NY:<br />

Wiley, 1991. ISBN: 9780471839651.<br />

[2] J. Goodman, Introduction to Fourier Optics (2nd edition), McGraw-Hill, 1996<br />

[3] A Ghatak and K Thyagarajan, An Introduction to Fibre Optics, Cambridge<br />

University Press, 1998<br />

[4] W. J. Smith, Modern Lens Design, McGraw-Hill, 1993<br />

[5] K. T. V. Gratten and B T Meggitt, Optical Fibre Sensor Technology:<br />

Applications and Systems, Kluwer <strong>Academic</strong> Publishers, 1999<br />

[6] K. Barnham and D. D. Vvedensky, Low-Dimensional semiconductor<br />

structures, Cambridge University Press, 2001<br />

[7] P. S. Zory, Quantum Well Lasers (Quantum Electronics: Principles and<br />

Applications) <strong>Academic</strong> Press, 1993<br />

[8] O. Svelto, Principles <strong>of</strong> Lasers (4th edition), Plenum Press, 1998<br />

[9] L. A. Coldren and S. W. Corzine, Diode Lasers and Photonic Integrated<br />

Circuits, Wiley – Interscience, 1995<br />

[10] B. G. Streetman and S. Banerjee, Solid State Electronic Devices (5th Edition)<br />

Prentice-Hall 1999<br />

[11] R. W. Boyd, Nonlinear Optics, <strong>Academic</strong> Press, 1991<br />

[12] M. Born and E. Wolf, Principles <strong>of</strong> Optics: Electromagnetic Theory <strong>of</strong><br />

Propagation, Interference and Diffraction <strong>of</strong> Light, Cambridge University<br />

Press, 1999<br />

[13] W. T. Welford, Geometrical Optics, North-Holland Press, 1962<br />

[14] J. M. Senior, Optical Fiber Communications, Principles and Practice,<br />

Prentice-Hall International 1985<br />

[15] W. T. Welford, Aberrations <strong>of</strong> Optical Systems (2nd edition), Adam Hilger,<br />

1991<br />

[16] H. A. Macleod, Thin Film Optical Filters (2nd edition), Adam Hilger, 1986<br />

[17] P. Hariharan, Basics <strong>of</strong> Interferometry, <strong>Academic</strong> Press, 1992<br />

Bachelor <strong>of</strong> Science in Computer Engineering 122


Faculty <strong>of</strong> Technology<br />

ANNEX I:<br />

A. Personnel<br />

RESOURCES<br />

No. Name Highest Position Dept./ Faculty Specialisation<br />

1 S. S. Tickodri-Togboa Quali- PhD Assoc. Pr<strong>of</strong>. Full-Time Telecommunications Engineering,<br />

Engineering Ma<strong>the</strong>matics, ICT.<br />

2 E. Lugujjo PhD Assoc. Pr<strong>of</strong>. Full-Time Electrical Engineering, Engineering<br />

Ma<strong>the</strong>matics<br />

J. Byaruhanga PhD Assoc. Pr<strong>of</strong>. Full-Time Maintenance Engineering<br />

3 M. K Musaazi PhD Senior. Lecturer Full-Time Electrical Engineering, Engineering<br />

Ma<strong>the</strong>matics<br />

4 A Gidudu PhD Lecturer Full-Time GIS, ICT and Surveying<br />

6 S.B.Kucel PhD Lecturer Full-Time Mechanical Engineering, Energy<br />

Engineering, ICT<br />

7 Ms. D. Okello PhD Lecturer Full-Time Computer Engineering<br />

8 L.L. Kaluuba MSc Senior Lecturer Full-Time Computer Engineering<br />

9 M. Musinguzi PhD Lecturer Full-Time Geographic Information Systems, ICT<br />

Incubation<br />

10 P. Lating-Okidi PhD Lecturer Full- Time Mechanical Engineering, ICT<br />

Incubation<br />

11 Julius Butime PhD Lecturer Full-Time Electrical Engineering,<br />

Telecommunications, ICT<br />

12 D. Nsubuga Mubiru MSc Lecturer Full-Time Telecommunications, Electronics<br />

13 S. Sendegeya MSc Lecturer Full-Time Telecommunications, Electrical<br />

Engineering<br />

14 Charles Otine M.Sc. Assist. Lecturer Full-Time S<strong>of</strong>tware Engineering, Web<br />

Development<br />

15 P. Musasizi M.Sc. Assist. Lecturer Full-Time Mechanical Engineering, Systems<br />

Engineering<br />

16 Dominic Ssemukutu BSc Teaching Assistant Full-Time Mechanical Engineering,<br />

Managements<br />

17 Albert Lumu BSc. Lecturer Part- Time Electrical Engineering, S<strong>of</strong>tware<br />

Engineering<br />

18 Andrew Katumba BSc. Teaching Assistant Full-Time Electrical Engineering, S<strong>of</strong>tware<br />

Engineering<br />

19 David Wakyiku BSc. Teaching Assistant Full-Time Electrical Engineering, Computer<br />

Programming<br />

20 Mwikirize Cosmas BSc. Teaching Assistant Full-Time Electrical Engineering, S<strong>of</strong>tware<br />

Engineering<br />

21 Asiimwe Arthur<br />

Tumusiime<br />

BSc. Teaching Assistant Full-Time Electrical Engineering, S<strong>of</strong>tware<br />

Engineering<br />

Bachelor <strong>of</strong> Science in Computer Engineering 123


Faculty <strong>of</strong> Technology<br />

B. Equipment and Facilities<br />

The following equipment and facilities are available and will be provided by <strong>the</strong> Faculty:<br />

<br />

<br />

<br />

<br />

<br />

<br />

Telecommunications and Electronics Labs,<br />

ICT labs for undergraduates and graduates (with a total <strong>of</strong> over 150 computers connected to <strong>the</strong><br />

internet through Fibre-Optics network system (backbone) and hence ensuring faculty-wide<br />

Internet connectivity).<br />

Text books,<br />

Transport facilities for field visits and Industrial training,<br />

Faculty library,<br />

Lecture rooms.<br />

N.B.: Owing to <strong>the</strong> characteristically hands-on-nature <strong>of</strong> <strong>the</strong> Programme, students will be very<br />

much encouraged to acquire personal lap-top computers. Fur<strong>the</strong>rmore, because <strong>of</strong> <strong>the</strong> high<br />

rate <strong>of</strong> turn-out <strong>of</strong> literature in this area and <strong>the</strong> ra<strong>the</strong>r long time <strong>the</strong> process <strong>of</strong> acquiring<br />

literature through <strong>the</strong> University Library Book-bank system <strong>of</strong>ten takes, students will be<br />

advised to adopt intensive usage <strong>of</strong> internet resources. Occasionally this will require <strong>the</strong>m to<br />

purchase some <strong>of</strong> <strong>the</strong> most current publications that will emerge during <strong>the</strong>ir Course as<br />

additional text-books.<br />

ANNEX II<br />

COSTING<br />

PROGRAMME COSTING BSC (COMPUTER ENGINEERING)<br />

A. SUMMARY<br />

EXPECTED INCOME<br />

I<br />

Tuition Fees<br />

Total Admission Number 140<br />

Number <strong>of</strong> Government-sponsored Students under DAY Programme 35<br />

Number <strong>of</strong> Privately-sponsored Students under DAY Programme 35<br />

Number <strong>of</strong> Privately-sponsored Students under EVENING Programme 70<br />

Total Number <strong>of</strong> Privately-sponsored Students under both Programmes 105<br />

Number <strong>of</strong> Semesters 2<br />

Amount Payable per Privately-sponsored Student per Semester 1,250,000/=<br />

Total Amount per Semester 131,250,000/=<br />

Total Amount per Year 262,500,000/=<br />

II<br />

DISTRIBUTION<br />

Faculty (35%) 91,875,000/=<br />

Central Activities (65%) 170,625,000/=<br />

Total 262,500,000/=<br />

Bachelor <strong>of</strong> Science in Computer Engineering 124


Faculty <strong>of</strong> Technology<br />

B<br />

DETAILS OF PROGRAMME COSTING<br />

INCOME<br />

Faculty allocation 91,875,000/=<br />

EXPENDITURE<br />

I Teaching Expenses<br />

Lecture/tutorials/practical hours @50,000 x 1200 CH 60,000,000 /=<br />

II Administrative Activities<br />

Faculty Activities (Administration/Cleaning, Furniture, etc.) 31,875,000/=<br />

III Teaching Materials<br />

Item Quantity Amount(UGX)<br />

Field Trips Item 2,747,000<br />

Equipment and Computer Accessories Item 21,983,000<br />

Laboratory Costs Item 5,496,000<br />

Contingencies (Photocopying, Item<br />

Meetings, etc.)<br />

1,649,000<br />

Bachelor <strong>of</strong> Science in Computer Engineering 125


Faculty <strong>of</strong> Technology<br />

Bachelor <strong>of</strong> Science in Computer Engineering 126

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

Saved successfully!

Ooh no, something went wrong!