MAKERERE UNIVERSITY - Office of the Academic Registrar ...
MAKERERE UNIVERSITY - Office of the Academic Registrar ...
MAKERERE UNIVERSITY - Office of the Academic Registrar ...
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