ECE Major Curriculum

Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

506 Department of Electrical and Computer Engineering

Department of Electrical and


Computer Engineering
Chairperson: Mansour, Mohammad
Abou-Faycal, Ibrahim; Artail, Hassan; Bazzi, Louay;
Chaaban, Farid; Chedid, Riad; Chehab, Ali; Dawy,
Zaher; Elhajj, Imad; El-Hajj, Ali; Jabr, Rabih; Kabalan,
Professors:
Karim; Karaki, Sami; Kayssi, Ayman; Mansour,
Mohammad; Masri, Wassim; Saade, Jean; Sabah,
Nassir
Awad, Mariette; Bazzi, Ali; Costantine, Joseph; Hajj,
Associate Professors: Hazem; Karameh, Fadi; Saghir, Mazen; Zaraket, Fadi;
Kanj, Rouwaida
Daher, Naseem; Issa, Ibrahim; Nassif,
Assistant Professors:
Roula; Tawk, Youssef
Adjunct Professor: Khoury, Shahwan
Senior Lecturers: Chahine, Hazem; Hamandi, Lama; Huijer, Ernst
Droubi, Ghassan; Hijazi, Basma; Marmar, Ali;
Lecturers:
Moukallid, Ali
Instructors: Dinnawi, Rafica; Kanafani, Zaher; Kanso, Ali

The Department of Electrical and Computer Engineering offers three undergraduate


programs leading to the degree of Bachelor of Engineering in addition to two minors and
two tracks.

Undergraduate Programs
The Department of Electrical and Computer Engineering offers the degree of Bachelor of
Engineering in three majors:
• Computer and Communications Engineering (CCE)
• Computer Science and Engineering (CSE)
• Electrical and Computer Engineering (ECE)
We promote excellence in undergraduate and graduate education, research, and service
to the profession at the regional and global levels. We offer world-class academic
programs built upon a solid foundation of engineering, science, and liberal education.
We prepare students to be professionals, capable of being leaders, entrepreneurs, and
researchers, who deploy their skills with ingenuity, integrity, and responsibility.
The Computer and Communications Engineering program allows students to focus on
the areas of communication systems, networks, or software systems. The Computer
Science and Engineering program allows students to focus on the areas of software
engineering, systems and networks, cybersecurity, theory and algorithms, data
science, or bioinformatics. The CSE program is offered in cooperation with the Computer
Science Department of the Faculty of Arts and Sciences. The Electrical and Computer
Engineering program allows students to focus on the areas of power and energy systems,
electromagnetics and radio frequency systems, or control and intelligent systems. The
ECE and CCE programs also allow students to focus on electronics or computer systems.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 507

All three programs require the completion of 143 credits including an internship and
a final year project; and prepare students for professional careers as well as graduate
studies.
The ECE department also offers a minor in Biomedical Engineering and a track in Control
and Robotics, in addition to a minor and a track in Artificial Intelligence.

Computer and Communications Engineering


Program
Program Educational Objectives
The objectives of the CCE program are to graduate students who are able to:
• achieve their employment or post-graduate educational goals and
• advance in their careers through leadership, life-long learning, innovation, critical
thinking, integrity and civic responsibility.

Program Requirements
• Mathematics: MATH 201; MATH 202; MATH 211 or CMPS 211; MATH 218 or 219; STAT
230/233; and one of MATH 210, 224, 227, MATH/CMPS 251 or 261
• Sciences: PHYS 210, PHYS 210L, CHEM 201 or 202, CHEM 203 or 205, and one
additional science elective
• General Education Requirements: 12 credits in Humanities including INDE 410, 6
credits in Social Sciences, 6 credits in English: ENGL 203 and ENGL 206, and 3 credits
in Arabic
• INDE 301: Engineering Economy
• ECE Core Courses: FEAA 200, EECE 210, EECE 230, EECE 290, EECE 310, EECE 311,
EECE 320, EECE 321, EECE 330, EECE 340, EECE 350, EECE 380, EECE 442
• ECE Laboratories: EECE 310L, EECE 321L, EECE 410L, two additional laboratories: one
restricted laboratory and one elective laboratory
• ECE Restricted Electives: Four restricted elective courses from the list of CCE Focus
Area courses with no more than three courses from any given area
• Undergraduate Elective Courses: 3 credits of EECE 300 or 400 level courses
• Technical Electives: 18 credits of coursework, at least 6 credits of which must be
in EECE courses. No more than 6 credits may be taken from the same department,
program or track
• Approved Experience: EECE 500
• Final Year Project: EECE 501 and EECE 502

Undergraduate Catalogue 2021–22


508 Department of Electrical and Computer Engineering

The program requirements can be completed according to the following proposed


schedule:

Term I (Fall) Credits


FEAA 200 Introduction to Engineering and Architecture 3
EECE 210 Electric Circuits 3
ENGL 203 Academic English 3
MATH 201 Calculus and Analytic Geometry III 3
MATH/
Discrete Structures 3
CMPS 211
Total 15

Term II (Spring) Credits


EECE 230 Introduction to Programming 3
EECE 290 Analog Signal Processing 3
MATH 202 Differential Equations 3
MATH
Linear Algebra 3
218/219
PHYS 210 Introductory Physics II 3
PHYS 210L Introductory Physics Laboratory II 1
Total 16

Term III (Summer) Credits


CHEM
Chemistry Course 3
201/202
CHEM
Chemistry Laboratory 2
203/205
Humanities or Social Sciences Elective 3
Total 8

Term IV (Fall)
EECE 310 Electronics 3
EECE 310L Electric Circuits Laboratory 1
EECE 320 Digital Systems Design 3
EECE 330 Data Structures and Algorithms 3
EECE 380 Engineering Electromagnetics 3
STAT230/233 Introduction to Probability and Random Variables 3
Total 16

Term V (Spring)
EECE 311 Electronic Circuits 3
EECE 321 Computer Organization 3
EECE 321L Computer Organization Laboratory 1
EECE 340 Signals and Systems 3
EECE 350 Computer Networks 3
Science Elective 3
Total 16

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 509

Term VI (Summer)
ENGL 206 Technical English 3
ARAB 3
Humanities or Social Sciences Elective 3
Total 9

Term VII (Fall)


EECE 442 Communication Systems 3
EECE 3xx/4xx Restricted Elective 3
EECE 3xx/4xx Restricted Elective 3
MATH Elective 3
INDE 301 Engineering Economy 3
Total 15

Term VIII (Spring) Credits


EECE 3xx/4xx Restricted Elective 3
EECE 3xx/4xx Restricted Elective 3
EECE Elective 3
EECE 410L System Integration Laboratory 1
INDE 410 Engineering Ethics 3
Humanities or Social Sciences Elective 3
Total 16

Term IX (Summer) Credits


EECE 500 Approved Experience 1b
Term X (Fall) Credits
EECE 501 Final Year Project 3
EECE Restricted Laboratory 1
EECE EECE Elective 3
Two
Technical EECE or Other 6
Electives
Humanities or Social Sciences Elective 3
Total 16

Term XI (Spring) Credits


EECE 502 Final Year Project 3
EECE Elective Laboratory 1
EECE EECE Elective 3
Two
Technical EECE or Other 6
Electives
Humanities or Social Sciences Elective 3
Total 16
Total Credit Hours 143

Undergraduate Catalogue 2021–22


510 Department of Electrical and Computer Engineering

List of CCE Focus Area Courses


• Area 1: Computer Hardware Systems: EECE 412, 420, 421, 422, 423, 425
• Area 2: Communications and Networking: EECE 451, 455, 491
• Area 3: Software Systems: EECE 331, 332, 334, 338, 430, 432, 433, 437, 490

List of CCE Restricted Labs


EECE 412L, 430L, 431L, 434L, 435L, 442L, 451L

List of Pre-Approved Technical Electives


• Any EECE course with a number equal to, or greater than, 300
• Any ENMG course with a number equal to, or greater than, 600
• ACCT 210
• BIOL 201, 202, 210, 223, 224, 225, 243, 244, 247, 260, 268, 290
• BMEN 501, 502, 600, 601, 603, 605, 606, 607, 608, 609, 610, 611، 798CC
• CHEM 200, 201, 202, 206, 208, 211, 212, 215, 217, 218, 227, 228, 229
• CHEN 490, 675
• CIVE 460, 461, 553, 601, 602, 655, 661, 662, 663, 664, 665
• CMPS 251, 257, 272, 274, 277, 281, 285, 286, 288, 350,351, 368, 372, 373, 391
• DCSN 200, 210
• ECON 214, 215, 217, 218, 222, 223/224, 226, 227, 228, 232, 235, 236, 237, 239,
240, 241, 242, 243, 333, 341
• ENTM 225, 235
• FEAA 502
• FINA 210, 220
• GEOL 201, 205, 211, 212, 213, 219, 221
• INDE 302, 303, 412
• MATH 210, 212, 213, 214, 220, 223, 224, 227, 234, 241, 242, 251, 261, 271, 281,
303, 304, 306, 314, 315, 341, 344, 351
• MECH 310, 314, 320, 340, 550, 631, 633, 634, 641, 642
• MKTG 210, 225
• MNGT 218, 220, 229, 230
• PHYL 246
• PHYS 212, 217, 223, 225, 226, 235, 236, 249
• PSYC 226, 229
• Any STAT course with a number equal to, or greater than, 234

List of Science Electives


• BIOL 201, BIOL 202, BIOL 209, BIOL 210, CHEM 201, CHEM 207/211, GEOL 201,
GEOL 205, GEOL 211, MAUD 204, PHYL 246, PHYS 212, PHYS 217, PHYS 223,PHYS
235, PHYS 236, PSYC 222, 224

b* Stands for bidding

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 511

Computer Science and Engineering Program


Program Educational Objectives
The objectives of the Computer Science and Engineering (CSE) program are to graduate
students who are able to:
• Achieve their employment or post-graduate educational goals and
• Advance in their careers through leadership, life-long learning, innovation, critical
thinking, integrity, and civic responsibility.

Program Requirements
Mathematics: MATH 201, MATH 211, MATH 218 or 219, STAT 230 or 233, and two courses
from the list of CSE MATH electives.
Sciences: PHYS 211; PHYS 211L; and at least 8 credits from the list of science electives,
to include at least one natural science elective.
General Education Requirements: 12 credits in Humanities including INDE 410, 6 credits
in Social Sciences, 6 credits in English: ENGL 203 and ENGL 206, and 3 credits in Arabic.
INDE 301: Engineering Economy
INDE 412: Engineering Entrepreneurship
CSE Core Courses: FEAA 200, EECE 230, EECE 320, EECE 321, EECE 330, EECE 331, EECE
332, EECE 334, EECE 338, EECE 351, EECE 430, EECE 432, EECE 455, EECE 490.
CSE Laboratories: EECE 321L, EECE 430L, EECE 435L, and one restricted CSE laboratory.
CSE Concentrations: 12 credits to satisfy the requirements of one of the CSE
concentration areas.
CSE Electives: Five 3-credit courses selected from the list of pre-approved Technical
Electives.
Approved Experience: EECE 500
Final Year Project: EECE 501 and EECE 502.
The program requirements can be completed according to the following proposed
schedule

Term I (Fall) Credits


FEAA 200 Introduction to Engineering and Architecture 3
EECE 230 Introduction to Computation and Programing 3
MATH /
Discrete Math 3
CMPS 211
MATH 201 Calculus and Analytic Geometry III 3
ENGL 203 Academic English 3
Total 15

Undergraduate Catalogue 2021–22


512 Department of Electrical and Computer Engineering

Term II (Spring) Credits


EECE 330 Data Structures and Algorithms 3
MATH
Linear Algebra 3
218/219
STAT
Probability and Random Variables 3
230/233
PHYS 211 Electricity and Magnetism 3
PHYS 211L Electricity and Magnetism Lab 1
Humanities or Social Science Elective 3
Total 16

Term III (Summer) Credits


At least 4 credits from the List of CSE Science Electives 4
Humanities or Social Science Elective 3
Total 7

Term IV (Fall) Credits


EECE 331 Design and Analysis of Algorithms 3
EECE 332 Object-Oriented and Effective Java Programing 3
EECE 320 Digital Design 3
EECE 351 Computing Networks and Services 3
At least 4 credits from the List of CSE Science Electives 4
Total 16

Term V (Spring) Credits


EECE 338 Theory of Computation 3
EECE 334 Programming Language Design and Implementation 3
EECE 321 Computer Organization 3
EECE 321L Computer Organization Lab 1
INDE 301 Engineering Economy 3
Humanities or Social Science Elective 3
Total 16

Term VI (Summer) Credits


Math Elective 3
ENGL 206 Technical English 3
Arabic Elective 3
Total 9

Term VII (Fall) Credits


EECE 455 Cryptography and Network Security 3
EECE 490 Machine Learning 3
EECE 432 Operating Systems 3
EECE CSE Restricted Laboratory 1
EECE or Other CSE Concentration Area Elective 3
INDE Engineering Ethics 3
Total 16

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 513

Term VIII (Spring) Credits


Math Elective 3
EECE 430 Software Engineering 3
EECE 430L Web, Mobile, and Application Development Lab 2
EECE or Other CSE Elective 3
EECE or Other CSE Concentration Area Elective 3
INDE 412 Engineering Entrepreneurship 3
Total 17

Term IX (Summer) Credits


EECE 500 Approved Experience 1b

Term X (Fall) Credits


EECE 501 Final Year Project 3
EECE 435L Software Tools Lab 1
EECE or Other CSE Concentration Area Elective 3
EECE or Other Two CSE Electives 6
Humanities or Social Science Elective 3
Total 16

Term XI (Spring) Credits


EECE 502 Final Year Project 3
EECE or Other CSE Concentration Area Elective 3
EECE or Other Two CSE Electives 6
Humanities or Social Science Elective 3
Total 15

List of CSE Concentration Areas


• Software Engineering: EECE 437; EECE 636 or EECE 638; and two of: EECE 631, CMPS
283, EECE 636, EECE 638, EECE 652, and EECE 499 in software design and validation
• Systems and Networks: Four courses from: EECE 420, EECE 421, EECE 422, EECE 423,
EECE 425, EECE 451, EECE 651, and EECE 499 in systems and networks
• Cybersecurity: Four courses from: EECE 641, EECE 651, EECE 655, EECE 657 and EECE
499 in network security
• Theory and Algorithms1: EECE 631; two courses from the CSE Math Electives; and one
of: EECE 636, EECE 641, EECE 642, EECE 731, or EECE 499 in theory and algorithms
• Data Science: Two courses from: EECE 433/CMPS 277, EECE 631, EECE 633, EECE 639,
EECE 663, EECE 668, and EECE 499 in data science; and two courses form: STAT 234,
MSBA 305, MSBA 310, MSBA 351, and EECE 499 in data science
• Bioinformatics2: BIOL 223; BIOC 326 or BIOL 370; and two courses from: STAT 234,
MSBA 305, BIOC 326, BIOL 370, EECE 631, EECE 633, and EECE 499 in bioinformatics
• Individually Designed: Four courses with a unifying theme proposed by student and
approved by academic advisor and the ECE Undergraduate Academic Committee
(EUAC). At least one of the courses should be in ECE.

1)  Students are advised to choose MATH 219 and STAT 233 (in Term II)
2)  Students are advised to choose BIOL 201 and 202 as CSE science electives

Undergraduate Catalogue 2021–22


514 Department of Electrical and Computer Engineering

List of CSE Restricted Laboratories:


• EECE 431L, EECE 434L, and EECE 451L

List of CSE MATH Electives:


• MATH 202, MATH 210, MATH 220, MATH 224, MATH 227, MATH 241, MATH 242, MATH
251 or CMPS 251, and MATH 261.

List of Pre-Approved Technical Electives


• Any EECE course with a number equal to or greater than 300
• Any ENMG course with a number equal to, or greater than, 600
• ACCT 210
• BIOL 201, 202, 210, 223, 224, 225, 243, 244, 247, 260, 268, 290
• BMEN 501, 502, 600, 601, 603, 605, 606, 607, 608, 609, 610, 611، 798CC
• CHEM 200, 201, 202, 206, 208, 211, 212, 215, 217, 218, 227, 228, 229
• CHEN 490, 675
• CIVE 460, 461, 553, 601, 602, 655, 661, 662, 663, 664, 665
• CMPS 251, 257, 272, 274, 277, 281, 285, 286, 288, 350, 351, 368, 372, 373, 391
• DCSN 200, 210
• ECON 214, 215, 217, 218, 222, 223/224, 226, 227, 228, 232, 235, 236, 237, 239,
240, 241, 242, 243, 333, 341
• ENTM 225, 235
• FEAA 502
• FINA 210, 220
• GEOL 201, 205, 211, 212, 213, 219, 221
• INDE 302, 303, 412
• MATH 210, 212, 213, 214, 220, 223, 224, 227, 234, 241, 242, 251, 261, 271, 281,
303, 304, 306, 314, 315, 341, 344, 351
• MECH 310, 314, 320, 340, 550, 631, 633, 634, 641, 642
• MKTG 210, 225
• MNGT 218, 220, 229, 230
• PHYL 246
• PHYS 212, 217, 223, 225, 226, 235, 236, 249
• PSYC 226, 229
• Any STAT course with a number equal to or greater than 234

List of CSE Science Electives


• BIOL 2011, BIOL 202, BIOL 209, BIOL 2101, CHEM 2011, CHEM 2021, CHEM 203,
CHEM 2051, CHEM 2071/211, GEOL 2011, GEOL 2051, GEOL 211, MAUD 204, PHYL
246, PHYS 2101, PHYS 210L, PHYS 2121, PHYS 217, PHYS 223, PHYS 228, PHYS
228L, PHYS 235, PHYS 23, PSYC 222, 224

1)  Natural Science Course

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 515

Electrical and Computer Engineering Program


Program Educational Objectives
The objectives of the ECE program are to graduate students who are able to:
• achieve their employment or post graduate educational goals and
• advance in their careers through leadership, life-long learning, innovation, critical
thinking, integrity and civic responsibility.

Program Requirements
• Mathematics: MATH 201; MATH 202; MATH 211 or CMPS 211; MATH 218 or 219; STAT
230/233; and one of MATH 210, 224, 227, MATH/CMPS 251, 261
• Sciences: PHYS 210, PHYS 210L, CHEM 201 or 202, CHEM 203 or 205, and one
additional science elective
• General Education Requirements: 12 credits in Humanities including INDE 410, 6
credits in Social Sciences, 6 credits in English: ENGL 203 and ENGL 206, and 3 credits
in Arabic
• INDE 301: Engineering Economy
• ECE Core Courses: FEAA 200, EECE 210, EECE 230, EECE 290, EECE 310, EECE 311,
EECE 320, EECE 321, EECE 330, EECE 340, EECE 370 and EECE 380
• ECE Laboratories: EECE 310L, EECE 321L, EECE 410L and two additional laboratories:
one restricted laboratory and one elective laboratory
• ECE Restricted Electives: Four restricted elective courses from the list of ECE Focus
Area courses with no more than three courses from any given area
• Undergraduate Elective Courses: 6 credits of EECE 300 or 400 level courses
• Technical Electives: 18 credits of coursework, at least 6 credits of which must be
in EECE courses. No more than 6 credits may be taken from the same department,
program or track. All technical electives must be from the list of pre-approved
technical electives
• Approved Experience: EECE 500
• Final Year Project: EECE 501 and EECE 502
The program requirements can be completed according to the following proposed
schedule:

Term I (Fall) Credits


FEAA 200 Introduction to Engineering and Architecture 3
EECE 210 Electric Circuits 3
ENGL 203 Academic English 3
MATH 201 Calculus and Analytic Geometry III 3
PHYS 210 Introductory Physics II 3
PHYS 210L Introductory Physics Laboratory II 1
Total 16

Undergraduate Catalogue 2021–22


516 Department of Electrical and Computer Engineering

Term II (Spring) Credits


EECE 230 Introduction to Programming 3
EECE 290 Analog Signal Processing 3
MATH 202 Differential Equations 3
MATH
Linear Algebra 3
218/219
MATH/CMPS
Discrete Structures 3
211
Total 15

Term III (Summer) Credits


CHEM
Chemistry Course 3
201/202
CHEM
Chemistry Laboratory 2
203/205
Humanities or Social Sciences Elective 3
Total 8

Term IV (Fall) Credits


EECE 310 Electronics 3
EECE 310L Electric Circuits Laboratory 1
EECE 320 Digital Systems Design 3
EECE 330 Data Structures and Algorithms 3
EECE 370 Electric Machines and Power Fundamentals 3
STAT230/233 Introduction to Probability and Random Variables 3
Total 16

Term V (Spring) Credits


EECE 311 Electronic Circuits 3
EECE 321 Computer Organization 3
EECE 321L Computer Organization Laboratory 1
EECE 340 Signals and Systems 3
EECE 380 Engineering Electromagnetics 3
Science Elective 3
Total 16

Term VI (Summer) Credits


ENGL 206 Technical English 3
ARAB Arabic Course 3
Humanities or Social Sciences Elective 3
Total 9

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 517

Term VII (Fall) Credits


EECE 4xx Restricted Elective 3
EECE 4xx Restricted Elective 3
EECE Elective 3
MATH Math Elective 3
INDE 301 Engineering Economy 3
Total 15

Term VIII (Spring) Credits


EECE 4xx Restricted Elective 3
EECE 4xx Restricted Elective 3
EECE Elective 3
EECE 410L System Integration Laboratory 1
INDE 410 Engineering Ethics 3
Humanities or Social Sciences Elective 3
Total 16

Term IX (Summer) Credits


EECE 500 Approved Experience 1b

Term X (Fall) Credits


EECE 501 Final Year Project 3
EECE EECE Elective 3
EECE Restricted Laboratory 1
Two
Technical EECE or Other 6
Electives
Humanities or Social Sciences Elective 3
Total 16

Term XI (Spring) Credits


EECE 502 Final Year Project 3
EECE EECE Elective 3
EECE Elective Laboratory 1
Two
Technical EECE or Other 6
Electives
Humanities or Social Sciences Elective 3
Total 16
Total Credit Hours 143

Undergraduate Catalogue 2021–22


518 Department of Electrical and Computer Engineering

List of ECE Focus Area Courses


• Area 1: Computer Hardware Systems: EECE 412, 420, 421, 422, 423, 425
• Area 2: Power and Energy Systems: EECE 471, 473, 474, 476
• Area 3: Control and Intelligence Systems: EECE 460, 461, 463

List of ECE Restricted Labs


EECE 412L, 460L, 462L, 470L, 471L, 473L

List of Pre-Approved Technical Electives


• Any EECE course with a number equal to, or greater than, 300
• Any ENMG course with a number equal to, or greater than, 600
• ACCT 210
• BIOL 201, 202, 210, 223, 224, 225, 243, 244, 247, 260, 268, 290
• BMEN 501, 502, 600, 601, 603, 605, 606, 607, 608, 609, 610, 611، 798CC
• CHEM 200, 201, 202, 206, 208, 211, 212, 215, 217, 218, 227, 228, 229
• CHEN 490, 675
• CIVE 460, 461, 553, 601, 602, 655, 661, 662, 663, 664, 665
• CMPS 251, 257, 272, 274, 277, 281, 285, 286, 288, 350, 351, 368, 372, 373, 391
• DCSN 200, 210
• ECON 214, 215, 217, 218, 222, 223/224, 226, 227, 228, 232, 235, 236, 237, 239,
240, 241, 242, 243, 333, 341
• ENTM 225, 235
• FEAA 502
• FINA 210, 220
• GEOL 201, 205, 211, 212, 213, 219, 221
• INDE 302, 303, 412
• MATH 210, 212, 213, 214, 220, 223, 224, 227, 234, 241, 242, 251, 261, 271, 281,
303, 304, 306, 314, 315, 341, 344, 351
• MECH 310, 314, 320, 340, 550, 631, 633, 634, 641, 642
• MKTG 210, 225
• MNGT 218, 220, 229, 230
• PHYL 246
• PHYS 212, 217, 223, 225, 226, 235, 236, 249
• PSYC 226, 229
• Any STAT course with a number equal to, or greater than, 234

List of Science Electives


• BIOL 201, BIOL 202, BIOL 209, BIOL 210, CHEM 201, CHEM 207/211, GEOL 201,
GEOL 205, GEOL 211, MAUD 204, PHYL 246, PHYS 212, PHYS 217, PHYS 223,
PHYS 235, PHYS 236, PSYC 226, 229

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 519

Track and Minor in Artificial Intelligence


The Track in Artificial Intelligence can be pursued by all undergraduate students in
the ECE department, and the Minor in Artificial Intelligence can be pursued by all AUB
undergraduate students. Only students who have a cumulative average of 70 (2.2) or
more are eligible to apply for the minor.

Track Requirements (for ECMP/EECE)


In order to satisfy the requirements of the track, a student must earn 18 credits of course
work from the courses listed below.
• EECE 490
• EECE 693
• One of the following PSYC courses: 220, 222, 224, 226, 229
• One elective from List A
• One elective from List A or List B
• One elective from either List A, B, or C

Elective courses:
• List A: EECE 463, EECE 633, EECE 639, EECE 664, EECE 699, STAT 239
• List B: EECE 641, EECE 668, EECE 692, EECE 798, EECE 699, ENMG 604 or CMPS 351,
MATH 234, MATH 351, STAT 234, STAT 235
• List C: EECE 331, EECE 334, EECE 422, EECE 423/623, EECE 433, EECE 491, EECE 603,
EECE 604, EECE 644, EECE 660, EECE 661, EECE 665, EECE 694, EECE 696, MSBA 310,
MSBA 325, MSBA 360, MSBA 365

Minor Requirements (for non-ECMP/EECE)


(The Minor in Artificial Intelligence is not open to CMPS majors)
In order to satisfy the requirements of the minor, a student must earn 18 credits of
course work from the courses listed below.
• EECE 230, EECE 231 or CMPS 200
• EECE 490
• One of the following STAT courses: 201, 210, 230, or 233
• One of the following PSYC courses: 220, 222, 224, 226, 229
• One elective from List A
• One elective from List A or List B

Elective courses:
• List A: EECE 633, EECE 639, EECE 664, EECE 668, EECE 692, EECE 699, EECE 693,
MECH 642
• List B: CMPS 200, CMPS 212, EECE 330, EECE 433, EECE 604, EECE 641, EECE 663,
EECE 694, EECE 696, MATH 234, MSBA 310, MSBA 325, MSBA 360, MSBA 365,
STAT 234

Undergraduate Catalogue 2021–22


520 Department of Electrical and Computer Engineering

Minor in Biomedical Engineering


The minor in Biomedical Engineering is open to all AUB students. Students who have
completed at least 60 credits at the sophomore level and higher, and who have a
cumulative average of 70 (GPA: 2.2) or more, may apply by completing the minor
application form available in the ECE department. The minor will be indicated on the
transcript of the student who completes all the requirements described below and
obtains an average in the minor courses of 70 (GPA: 2.2) or more.
The minor requirements are divided into a set of core courses and a set of elective
courses.

For Engineering students, the requirements are as follows:


• EECE 401 [1 cr.]
• BIOL 201 [4 cr.]
• BIOL 202 or PHYL 246 [4 cr.]
• One core course [3 cr.] chosen from EECE 601, EECE 603 or MECH 633 depending
on the chosen track of Biomedical Equipment, Neuroengineering or Biomechanical,
respectively.
• One elective course from list A below [3 cr.]
• One elective course from list A, B,or C below [3 cr.]
• Minimum number of credits: 18

For Biology students, the requirements are as follows:


• EECE 401 [1 cr.]
• BIOL 201 [4 cr.]
• BIOL 202 [4 cr.]
• EECE 210 [3 cr.] (or equivalent, such as PHYS 228 and PHYS 228L) and EECE 601 [3
cr.] for the Biomedical Equipment and Neuroengineering track; or CIVE 210 [3 cr.] (or
equivalent) and MECH 634 [3 cr.] for the Biomechanics track
• One elective course from list A or B below [3 cr.]
• Minimum number of credits: 18

For other students, the requirements are as follows:


• EECE 401 [1 cr.]
• BIOL 201 [4 cr.]
• BIOL 202 or PHYL 246 [4 cr.]
• EECE 210 [3 cr.] (or equivalent, such as PHYS 228 and PHYS 228L) and EECE 601 [3
cr.] for the Biomedical Equipment and Neuroengineering tracks; or CIVE 210 [3 cr.] (or
equivalent) and MECH 634 [3 cr.] for the Biomechanics track
• One elective course from list A, B or C below [3 cr.]
• Minimum number of credits: 18

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 521

Elective Courses
• List A: EECE 601, EECE 602, EECE 603 (unless the student takes EECE 694, in which
case either EECE 694 or EECE 603 counts toward the minor), EECE 604, EECE 605,
MECH 633, MECH 634
• List B: BMEN 603, BMEN 604, BMEN 609, MECH 606, MECH 607, MECH 624, MECH 631,
MECH 641/EECE 661, EECE 633, EECE 667, EECE 693, MECH 705, EECE 694 (unless the
student takes EECE 603, in which case either EECE 694 or EECE 603 counts toward the
minor)
• List C: BIOL 202, BIOL 223, BIOL 225, BIOL 244, BIOL 263, BIOL 268, PHYL 202, PHYL 246

Track in Control and Robotics


The ECE Track in Control and Robotics provides a coherent academic framework between
the ECE and ME departments in the areas of control, instrumentation and robotics. This
track supports interested undergraduate ECE and ME students in pursuing additional
control system modeling and design as given in either department based on their
individual preferences. This track is open to all undergraduate ECE and ME students
and will be indicated, upon its completion, on the transcript of participating students.
ECE students interested in taking the Control and Robotics track must satisfy the
following course requirements:
• EECE 460 (3 cr.)
• EECE 461 (3 cr.)
• EECE 460L (1 cr.)
• One elective from list A (Control)
• One elective from list B (Robotics)
• One elective from either list A, B or C
• Total number of credits: 16

Elective Course
• List A- Control: EECE 660/MECH 653, EECE 662/MECH 655, EECE 663/MECH 656,
EECE 665/MECH 654 and EECE 669/MECH648
• List B- Robotics: EECE 560/MECH 530, EECE 661/MECH 641, EECE 697/MECH 646
and EECE 698/MECH 650
• List C- Others: EECE 463/MECH 555, EECE 692/MECH642 and EECE 699/MECH 647

Undergraduate Catalogue 2021–22


522 Department of Electrical and Computer Engineering

Course Descriptions
FEAA 200 Introduction to Engineering and Architecture 3 cr.
The course is designed to familiarize first year students with the different disciplines
in Engineering and Architecture including: Architecture, Civil, Mechanical, Electrical,
Chemical, Industrial and technologies used in the fields. The course takes a unique
interdisciplinary approach to the field and introduces the related disciplines in the
world of engineering and architecture. One key objective is to promote interdisciplinary
interaction and innovative thinking. The course is organized into modules covering
the different disciplines within the Maroun Semaan Faculty of Engineering and
Architecture (MSFEA). The last module of the class showcases interdisciplinary
projects demonstrating interactions among the different fields. The lectures explain
as applicable to each discipline, through examples, notions of problem solving, design
thinking, process of invention and innovation, environmental and civic responsibility,
and measures of success in aesthetics and performance. The course project is a key
component of the course. It is interdisciplinary in nature bringing ideas and solutions
from all disciplines in engineering and architecture. Annually.

EECE 210 Electric Circuits 3 cr.


A course on fundamentals of electric circuits; basic elements and laws; techniques
of circuit analysis: node voltage, mesh current, Thevenin, Norton and source
transformation; inductors, capacitors, mutual inductance and transformers; transient
response of RC, RL and RLC circuits; steady state AC circuits; power calculations; circuit
simulation using SPICE.

EECE 230 Introduction to Computation and Programming 3 cr.


This is an introductory programming course with an emphasis on abstractions and
elementary algorithmic ideas. It uses the Python programming language. Topics include
data types, selection, repetition, strings, lists, functions, files, sorting and searching
algorithms, elementary asymptotic analysis, object-oriented programming, recursion,
and divide and conquer algorithms. The course has a weekly lab.

EECE 231 Introduction to Computation and Programming 3 cr.


with Applications
This is an introductory programming course that uses the Python programming
language, with balanced emphasis on programming concepts, elementary algorithms,
and applications. Topics include data types, selection, repetition, lists, tuples, strings,
dictionaries, functions, recursion, sorting and searching algorithms, files, plotting and
data visualization, introduction to object oriented programming, testing and debugging,
elementary numerical analysis methods, symbolic computation, and introduction to
Matlab. The course has weekly laboratory assignments. This course is not considered
equivalent to EECE 230; hence, students who have taken this course and wish to transfer
to ECE will need to take EECE 230.

EECE 290 Analog Signal Processing 3 cr.


A course on selected topics in circuit analysis; operational amplifiers; frequency
responses; Butterworth and active filters; responses to periodic inputs; real, reactive
and complex power; maximum power transfer; responses to step, impulse and switching
operations; convolution; Laplace transform and its use in circuit analysis; Fourier
transform; two-port circuits; and circuit simulation using SPICE. Prerequisite: EECE 210.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 523

EECE 310 Electronics 3 cr.


A course on semiconductors; PN junctions; diodes and diode circuits; MOS transistor and
applications such as amplifier and switch; bipolar junction transistor and applications
such as amplifier and switch; and circuit simulation using SPICE. Prerequisite: EECE 290,
and pre- or corequisite: FEAA 200.

EECE 310L Electric Circuits Laboratory 1 cr.


A laboratory course that covers passive electronic components; laboratory instruments;
voltage-divider circuits; sources and Thevenin’s Theorem; RC lead-lag networks; series
resonance; the transformer; op-amp circuits; single-phase rectifier circuits; LEDs; Zener
diode regulator; diode clamping and clipping; BJT and MOSFET characteristics. Pre- or
corequisite: EECE 310.

EECE 311 Electronic Circuits 3 cr.


A course on BJT amplifiers; MOSFET amplifiers; differential amplifiers; frequency
response of amplifiers; feedback; operational amplifiers; oscillators; digital CMOS
circuits; SPICE simulations. Prerequisite: EECE 310.

EECE 312 Electronics (for Mechanical Engineering students) 3 cr.


This course introduces fundamentals of electronics and electronic circuits to non-
majors. Its objectives are to provide concise treatment of the basic concepts of
electronic components and to introduce students to basic analog and digital electronic
circuits. The course covers the fundamentals of semiconductor diodes, transistors,
operational amplifiers and their applications, digital circuits and systems, and basic
instrumentation. Prerequisite: EECE 210.

EECE 312L Circuits and Electronics Lab 1 cr.


A laboratory course for non-majors that covers passive electronic components,
laboratory instruments, voltage-divider circuits, sources and Thevenin’s Theorem,
diode circuits and applications, transistor applications, op-amp circuits, passive filters,
digital circuits and instrumentation. Pre- or corequisite: EECE 312.

EECE 320 Digital Systems Design 3 cr.


This course introduces basic principles and practices of combinational and sequential
design of digital systems: binary codes, Boolean algebra, combinational circuits design,
combinational and sequential building blocks, and design of finite state machines.
The course introduces hardware description language (VHDL); students design and
implement two projects using VHDL, one for a combinational circuit and another for a
sequential circuit. Prerequisites: EECE 230 or EECE 231 or CMPS 200.

EECE 321 Computer Organization 3 cr.


This course covers single-core microprocessor computer organization and basic input/
output mechanisms. Students learn how to program microprocessors at the assembly
level and how to design the main core components of a von Neumann computer system,
including its instruction set architecture, datapath, control unit, cache and system
buses. To consolidate the material, students work on a VHDL design project of a single-
cycle MIPS microprocessor core. Prerequisites: EECE 320 and EECE 330.

Undergraduate Catalogue 2021–22


524 Department of Electrical and Computer Engineering

EECE 321L Computer Organization Laboratory 1 cr.


A laboratory course with experiments in computer organization and interfacing
techniques; digital hardware design using CAD tools and FPGAs; program-controlled and
interrupt-driven I/O; memory organization; simple peripheral devices and controllers;
bus interfaces; microcontroller-based designs. Pre- or corequisite: EECE 321.

EECE 330 Data Structures and Algorithms 3 cr.


This is an introductory course in data structures and algorithms with an emphasis
on programming. The course uses the C++ programming language. Topics include:
elements of C++, memory management, C++ classes and templates, linked-lists, sacks,
queues, standard template library, binary trees, binary search trees, balanced trees,
heaps, priority queues, hashing, graph traversals, introduction to graph algorithms.
The course has a weekly lab. Prerequisites: EECE 230 and co-requisite: MATH 211 or
CMPS 211 .

EECE 331 Design and Analysis of Algorithms 3 cr.


This course covers techniques for the design and analysis of efficient algorithms. Topics
include: divide and conquer, dynamic programing, and greedy design strategies; sorting
algorithms including merge sort, randomized quicksort, counting sort, and radix sort;
median and order statistics algorithms; sorting lower bound; matrix multiplication and
elementary arithmetic algorithms; balanced search trees; augmenting data structures;
hash tables; data structures for disjoint sets; amortized analysis; graph traversal
algorithms and applications, minimum spanning tree algorithms, shortest path
algorithms; maximum flow; introduction to NP completeness. Prerequisite: EECE 330.

EECE 332 Object-Oriented and Effective Java Programming 3 cr.


This course covers object-oriented programming in addition to other essential and
effective programming concepts using Java. Topics include: basic UML, data abstraction
and encapsulation, inheritance, polymorphism, generics, exception handling, GUI
programming, data persistence, database connectivity with JDBC, multi-threading
and basic mobile app development. Other topics might include internationalization,
web programming, and visualization. This course has a substantial lab component.
Prerequisite: EECE 330.

EECE 334 Programming Language Design and Implementation 3 cr.


This course examines the design and implementation of widely adopted programming
languages. Topics include data types; bindings; run-time management; object-
orientation; syntax analysis; semantic analysis; and the implementation of compilers
and interpreters. Functional and logic programming principles are also covered.
Prerequisite: EECE 332.

EECE 338 Theory of Computation 3 cr.


This course covers of the basics of automata and language theory, computation theory,
and complexity theory. The first part of the course is about automata and regular
languages, context free grammars, Church’s thesis, decidability, and reducibility.
Topics in the second part of the course include: time complexity and NP-completeness,
space complexity, polynomial-space and log-space computations, circuit complexity,
probabilistic computations and complexity classes, approximation algorithms, and
selected topics as time permits. Prerequisites: EECE 330 and STAT 230 or STAT 233.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 525

EECE 340 Signals and Systems 3 cr.


This course covers basic concepts and methods related to continuous and discrete-time
signals and systems. The course includes: signals and systems and their properties,
linear time-invariant systems, stability analysis, sampling of continuous-time signals,
z-transform, discrete Fourier transform, time and frequency domain representations
of discrete-time signals and systems, and introductory concepts in communications.
Prerequisite: EECE 290.

EECE 350 Computer Networks 3 cr.


A course that outlines data communications; wide area networks; circuit and packet
switching; routing; congestion control; local area networks; communications
architecture and protocols; internetworking. Students cannot get credit for both
EECE 350 and EECE 351. Prerequisites: EECE 330 and STAT 230 or STAT 233.

EECE 351 Computing Networks and Services 3 cr.


A course that outlines data networks and cloud services, application layer protocols,
web services and related protocols, cloud computing and service models, socket
programming, TCP service protocols, internetworking and software-defined networking.
Students cannot get credit for both EECE 350 and EECE 351. Prerequisites: EECE 330 and
STAT 230 or STAT 233.

EECE 370 Electric Machines and Power Fundamentals 3 cr.


The course covers three-phase circuits, magnetic circuits, transformers: ideal and real,
construction, operation, autotransformers and three-phase transformers; fundamentals
of AC machines: construction and basic concepts; synchronous generators:
construction, equivalent circuits, testing and performance characteristics; induction
motors construction, principle of operation, tests, power and torque expressions.
Prerequisite: EECE 290.

EECE 380 Engineering Electromagnetics 3 cr.


This course covers the fundamentals of electromagnetics. It deals with the study of
static electric fields in vacuum and dielectrics, conductors, capacitance, electrostatic
energy and forces; static magnetic fields, Biot-Savart law, Ampere’s law, vector magnetic
potential, inductance, Maxwell’s equations for time varying fields, Faraday’s law, plane
wave propagation, in lossless media; transmission lines and their lumped-element
model, transmission line input impedance. Prerequisites: EECE 210 and MATH 202.

EECE 401 Biomedical Engineering Seminar 1 cr.


Biweekly seminars given by members of the Maroun Semaan Faculty of Engineering and
Architecture or by guest speakers. The seminars cover a range of biomedical engineering
topics of theoretical and professional interest. Students are required to submit a graded
assignment based on each seminar. The seminar is required of all students taking the
Biomedical Engineering minor. Students cannot receive credit for both EECE 401 and
BMEN 600. Prerequisite: EECE 601 or EECE 603 or MECH 633.

EECE 410L System Integration Laboratory 1 cr.


A laboratory course that introduces students to a variety of electronic systems that
will help them better realize a functional device. The laboratory covers a wide range of
areas ranging from basic electronics, motor control, communication, micro-controllers,
human machine interface, signal generation and measurement, and instrumentation. In
addition to the mentioned topics, students are introduced to C language programming
for embedded systems and techniques of circuit design and fabrication. Prerequisites:
EECE 310L. Pre- or corequisites: EECE 321L and EECE 311.

Undergraduate Catalogue 2021–22


526 Department of Electrical and Computer Engineering

EECE 412/612 Digital Integrated Circuits 3 cr.


A course on digital electronic circuits; models, current equations and parasitics of CMOS
transistors for digital design; study of CMOS inverter and logic gates, including analysis,
design, simulation, layout and verification; advanced circuit styles; sequential circuits;
advanced topics: semiconductor memories, power grid, clocking strategies, datapath
building blocks, deep-submicron design issues, interconnect. CADTools will be used
for homework assignments, labs and projects. Prerequisites: EECE 310 and EECE 320.

EECE 412L VLSI Computer Aided Design Lab 1 cr.


This is VLSI design course that introduces students to the basics of integrated circuit
(IC) designs using computer aided design (CAD) tools. The lab familiarizes students with
the IC design flow using the industry-standard Cadence Design Systems tools. Custom
design of basic ICs is covered at the physical layout, circuit, logic and system levels. Lab
assignments include design and simulation projects using CAD tools for physical layout
design, schematic capture, place-and-route of standard cells, logic verification, circuit
extraction and simulation. Pre- or corequisite: EECE 412 or EECE 612.

EECE 420 Digital Systems Design II 3 cr.


This course focuses on principles and methodologies of digital logic design at the block
and subsystem levels. It covers the design of relatively large and complex digital systems
including arithmetic blocks, datapath subsystems, datapath controllers, programmable
storage and logic devices, and memory buffers. Synchronous and asynchronous logic
design principles are covered. Behavioral modeling and synthesis of combinational and
sequential logic are discussed. The Verilog language is used. The course includes a
design project using FPGAs. Prerequisite: EECE 320.

EECE 421 Computer Architecture 3 cr.


A course on the principles, techniques and trade-offs used in designing modern
processor core architectures. Topics include: benchmarking and performance evaluation;
hardware instruction level parallelism techniques (pipelining, superscalar, out-of-order
execution, branch prediction); software instruction level parallelism techniques (loop
unrolling, software pipelining, predicated execution, EPIC architecture), virtual memory
and high performance memory systems. Students will work on a VHDL design project of
a 2-wide superscalar microprocessor core. Prerequisite: EECE 321.

EECE 422 Parallel Computer Architecture and Programming 3 cr.


A course on high-performance computer architectures with emphasis on shared memory
and distributed parallel architectures and programming models. Topics include:
multicore processors; SIMD processors; UMA, NUMA and COMA shared-memory
multiprocessors; distributed multiprocessors; snoopy and directory-based cache
coherence protocols; memory consistency models; high performance synchronization
methods; speculative lock elision; and transactional memory programming model.
Students work on designing parallel programs using the OpenMP threading environment
and MPI message passing programming standard. Prerequisite: EECE 321.

EECE 423/623 Reconfigurable Computing 3 cr.


A course on reconfigurable computing systems and applications. Contemporary FPGA
architectures. FPGA design flows and tools. High-level synthesis. Hardware/software
partitioning. Host, memory and peripheral interfaces. Operating system support.
Dynamic partial reconfiguration. Classical and emerging applications. Students work on
a set of design assignments and a research project using appropriate FPGA development
boards and tools. Prerequisite: EECE 321.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 527

EECE 425/625 Embedded Microprocessor System Design 3 cr.


A course on contemporary embedded systems design. The system design process;
microcontroller architectures and programming; standard peripheral device controllers
(GPIO, timers/counters, interrupts); serial interfaces (RS232, SSI/SPI, I2C, USB);
displays; memory devices and DMA; IoT and network interfaces; analog/digital
conversion; pulse-width modulation; motor control; embedded operating systems.
Students work on a set of design assignments and a major project using appropriate
microcontroller development boards and tools. Prerequisite: EECE 321.

EECE 430 Software Engineering 3 cr.


A course that teaches students modern processes and tools for working on software
projects, including the design, development, testing, and deployment of software
systems. They will understand and use agile development methodologies and tools,
including lo-fi UI sketching, user stories, behavior-driven development, and version
control for team-based development, management tools, and design patterns. The
course requires the completion of a group-based real-life software project. Prerequisite:
EECE 330.

EECE 430L Web, Mobile, and Application Development Lab 2 cr.


A two-credit lab course that takes the students on a journey whereby they build
and deploy software systems on several platforms including standalone desktop
applications, mobile devices, application servers and web applications. The course
consists of one weekly lecture which covers tutorials in addition to one weekly lab
session where students apply the tutorials. This is a BYOD course. The lab exercises
culminate in students building a software game or a computer-aided design tool that
works seamlessly across different platforms while sharing the same core business
logic. Prerequisite: EECE 330.

EECE 431L Programming Contest Lab 1 cr.


The objective of this lab is to design and implement efficient solutions for algorithmic
questions and puzzles. Students’ submissions will be evaluated by an automated
judge. The lab helps prepare students for programming competitions and interviews in
software companies. Each lab session is focused on a category of problems including
data structures, searching, dynamic programming, graph algorithms, greedy algorithms,
geometric algorithms, algorithmic number theory, and network flow. Prerequisite: Grade
above 80 in EECE 331.

EECE 432 Operating Systems 3 cr.


This course covers the principles of operating systems and systems programming. The
topics discussed in class are processes, threads, concurrency and synchronization,
scheduling, deadlocks, memory management, file systems, i/o devices, parallel
and distributed systems, and security. The course will be accompanied by hands-on
assignments involving contemporary linux kernels. Prerequisite: EECE 321. Students
cannot receive credit for both EECE 432 and CMPS 272.

EECE 433 Database Systems 3 cr.


This course is a practical introduction to concepts of database design and database
system implementation: SQL, data modeling, database storage and indexing, database
design theory, database application development, normalization, relational algebra,
relational calculus and an introduction to data mining. Students cannot receive credit for
both EECE 433 and CMPS 277. Prerequisite: EECE 330.

Undergraduate Catalogue 2021–22


528 Department of Electrical and Computer Engineering

EECE 434L Software Prototyping Lab 1 cr


This is a one credit lab course that introduces students to fast productive scripting
tools that allow them to produce prototypes for their software projects or accomplish
a transient computational task in a relatively fast timeframe. The lab will introduce
students to scripting (ksh, csh, bash, bat), domain specific scripting languages
(Awk, ANTLR, Lex/Yacc), interpreted languages (Perl, Python, Ruby) and interactive
computational languages (Tcl, Matlab and R). Students will also learn how to take a
prototype and turn into a robust application once needed. Prerequisite: EECE 332.

EECE 435L Software Tools Laboratory 1 cr.


This course introduces software tools that enable engineers to become more effective
and productive at writing quality code. Students are grouped into teams of two (or
three) to undertake a software project. The project will reinforce object oriented
programming concepts and will involve software tools that expose students to source
control, documentation, debugging, build automation, testing, profiling, configuration
and deployment. Students have the choice of using Java or C++ to conduct their work.
Prerequisite: EECE 330.

EECE 437 Software Architecture and Design Fundamentals 3 cr.


This course covers fundamental principles of software design and architecture from
construction, analysis and practice perspectives. The course details the design and
construction of software products for better utility. It details software abstractions
of process, data, transactions and interaction. It discusses design methods such as
structural, object, aspect and feature oriented design. It then discusses deployment,
interoperability, reuse, patterns, anti-patterns and refactoring. The concepts will be
illustrated in the context of course projects and with open source supporting tools.
Some projects will be built from scratch and some will be built based on existing legacy
code. Prerequisite: EECE 330.

EECE 442 Communication Systems 3 cr.


This course introduces students to the transmission and reception of analog signals;
performance of analog communication systems in the presence of noise; analog to
digital conversion and pulse coded modulation; transmission and reception of digital
signals; performance of digital communication systems in the presence of noise and
inter-symbol interference. Prerequisites: EECE 340 and STAT 230 or STAT 233.

EECE 442L Communications Laboratory 1 cr.


A laboratory course with experiments covering the following topics: AM and
FM modulation/demodulation, sampling and quantization, digital modulation
(PSK, FSK, MSK, GMSK), digital demodulation and inter-symbol interference.
Prerequisite: EECE 442.

EECE 451 Mobile Networks and Applications 3 cr.


This course covers mobile networking topics with focus on wireless networking
technologies and mobile computing applications. It addresses the following standards,
mostly at the physical and MAC layers levels: Bluetooth, ZigBee, WiFi, GSM, UMTS and
LTE. It also touches on technologies that are part of LTE-advanced set of technologies
and covers Mobile IP. From the applications side, the course gives an overview of Web
Services, virtualization and cloud computing. The course includes a project on mobile
app development that involves communication among mobile devices. Prerequisite:
EECE 350 or EECE 351.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 529

EECE 451L Internetworking Laboratory 1 cr.


This laboratory course covers the technologies and protocols of the Internet. The
experiments cover IP, ARP, ICMP, UDP, TCP, DNS, routing protocols (RIP, OSPF, BGP),
network address translation (NAT), dynamic host configuration (DHCP), SNMP and IP
multicast. Prerequisite: EECE 350 or EECE 351.

EECE 455/632 Cryptography and Networks Security 3 cr.


This course provides an overview of encryption and network security. The topics include:
classical encryption techniques, block ciphers and the data encryption standard, finite
fields, advanced encryption standard, confidentiality using symmetric encryption,
public-key cryptography, key management, hash and MAC algorithms, digital
signatures, authentication applications, Web security, email security and IP security.
Prerequisite: Senior standing.

EECE 460 Control Systems 3 cr.


This course seeks to impart in students a sound understanding of fundamental
principles in control engineering based on analog technologies. The course includes:
mathematical modeling of linear continuous time invariant single input-single
output dynamical systems; transfer functions and state space models, performance
specifications, analysis and design of closed loop analog control systems.
Prerequisite: EECE 340.

EECE 460L Control Systems Laboratory 1 cr.


This course involves students in the practical implementation of concepts acquired
in EECE 460 by analyzing different types of dynamical systems, designing and
understanding controllers suitable to specific models, simulating system responses,
and experimentally verifying the effectiveness of various control schemes.
Pre- or corequisite: EECE 460.

EECE 461 Instrumentation 3 cr.


A design course for complete instrumentation systems, including measurements,
sensors, data acquisition and component integration. Application areas and
course projects include industrial control, laboratory measurements, automation
systems and the like. This course is completed with a set of laboratory experiments.
Prerequisite: Senior standing.

EECE 462L Industrial Control Laboratory 1 cr.


A laboratory that addresses topics related to industrial automation and process control.
Experiments include Programmable Logic Controllers (PLC), Supervisory Control
and Data Acquisition (SCADA), Human Machine Interface (HMI), Industrial Networks,
Machine Vision and Motion Control Applications. Prerequisite: EECE 460 or MECH 431.

EECE 463/ Artificial Intelligence for Control Systems 3 cr.


MECH 555
This is an introductory course in the evolving field of artificial intelligence (AI). It aims
at giving students a solid foundation in AI by covering basic techniques such as A*
searching, reasoning, object tracking, path planning and learning as applied to control
systems and manufacturing. The project and lab assignments will emphasis design of
intelligent control agents capable of basic learning. Prerequisite: EECE 460 or MECH 436.

Undergraduate Catalogue 2021–22


530 Department of Electrical and Computer Engineering

EECE 470L Electric Machines Laboratory 1 cr.


This course covers open circuit, short circuit and load test; unbalanced loading and
parallel operation of transformers; speed control and load characteristics of shunt,
series and compound DC machines; induction machines: blocked rotor, no-load and
loading tests; operation of single-phase induction motors; operation of a synchronous
machine connected to a large external source. Prerequisite: EECE 370.

EECE 471 Fundamentals of Power Systems Analysis 3 cr.


This course covers three-phase systems, generation modeling review and generation
capability curve; transformers, autotransformers, three-winding transformers and
regulating transformers. Calculation of transmission line parameters, evaluation
of steady state operation of transmission lines, reactive power compensation, line
capability, power flow analysis using Gauss-Seidel and Newton-Raphson methods,
economic load dispatch, symmetrical fault analysis. Prerequisite: EECE 370.

EECE 471L Power Systems Laboratory 1 cr.


This lab course covers various aspects of power systems: measurement of the
characteristics of a transmission line and assessment of its voltage drop and losses;
synchronization and operation of a generator connected to an infinite bus system; load
characteristics of a synchronous motor and effect of field excitation; effect of voltage
levels and load types on power transmission; load flow data preparation and system
study; system analysis of symmetrical and unsymmetrical faults; transient stability.
Prerequisite: EECE 471.

EECE 472 Renewable Energy Systems 3 cr.


This course covers the fundamentals of renewable electric energy systems and
their applications. It will introduce students to solar energy, both solar thermal and
photovoltaics (PV), wind energy, micro-hydro, biomass, and geothermal. Students will
learn the technical, economic, environmental, and social aspects of renewable energy
and its link with the energy sector and economic development. Prerequisite: EECE 210

EECE 473 Power Electronics 3 cr.


This lab course includes an overview of power electronics devices used and their
desired characteristics; diode circuits and rectifiers, effect of source inductance, three-
phase rectifiers; DC-DC switched mode converters, buck, boost and buck-boost circuits,
bridge converter; pulse-width modulated inverters, voltage control, harmonics,
three-phase inverters; introduction to gate and base drive circuits; snubber circuits.
Prerequisite: EECE 310.

EECE 473L Power Electronics and Drives Laboratory 1 cr.


This lab course includes experiments to study the following: induction motor torque-
speed curve and starting characteristic, induction motor speed control through a
4-quandrant drive, single phase capacitor-start induction motor, ac to DC converter, DC
to DC converters; buck, boost and buck-boost regulators, DC to AC inversion, AC to AC
converter. Pre- or corequisite: EECE 473.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 531

EECE 474 Electric Drives 3 cr.


A course that covers steady-state analysis of poly-phase induction motors, starting and
control; AC drives: solid-state control, DC link in adjustable speed drives, voltage and
frequency controls, braking and plugging, affinity laws; DC motors, DC drives: rectifier
and chopper drives, braking. Stepper motors: types, operational characteristics,
control algorithms, power drive configurations. Special-purpose motors.
Prerequisite: EECE 370.

EECE 475 Industrial Electrification 3 cr.


A course that outlines medium and low voltage installations; lighting, practical
applications of electric machines; motor control centers; emergency power supplies and
auxiliary systems. Prerequisite: EECE 370.

EECE 477 Electronic Drive Systems 3 cr.


A course that covers electronic drives, sensing, and control of electric machines;
Induction motor drives: dc/ac inverter basics and modulation, variable frequency
drives, constant V/f control, modified V/f control, slip compensation; Permanent
magnet synchronous machines (PMSM), brushless dc (BLDC) machines, and their
drives; switched reluctance motor and generator drives; stepper motors, drives, and
position control; Electronic drives for renewable energy systems: wind turbines, hydro,
marine, and hydrokinetic systems. Prerequisites: EECDE 310 and EECE 370.

EECE 476 Power System Protection and Switchgear 3 cr.


A course that covers current and voltage transformer theories, construction and
applications; electro-mechanical relay, solid state relay and numeric relay; analogue
to digital converter (ADC), digital to analogue converter (DAC), memories, protection
systems for electric machines, transformers, bus bars, overhead and underground
transmission lines; over-voltage protection system; and a brief introduction to data
transmission. Prerequisite: EECE 370.

EECE 480L Electromagnetics and Radio Frequency Laboratory 1 cr.


A laboratory course with experiments on concepts of applied electromagnetics and
radio frequency systems. This lab includes the demonstration of Coulomb’s, Ampere’s
and Faraday’s laws; the design and implementation of capacitors and inductors;
the realization of a wireless power transfer system; the design of transmission lines
and impedance matching networks; the simulation and fabrication of passive and
active RF circuits, wire and planar antennas as well as a full transceiver architecture.
Prerequisite : EECE 340 and EECE 380

EECE 481 Applications of Electromagnetic Fields 3 cr.


This course covers basic concepts and methods related to time varying electromagnetic
wave propagation. The course includes full analysis of Maxwell’s equations, plane
wave propagation, reflection and transmission in lossless and lossy media, normal and
oblique incidence, waveguides, impedance matching and introduction to microwave
engineering. Prerequisite: EECE 380.

Undergraduate Catalogue 2021–22


532 Department of Electrical and Computer Engineering

EECE 487/687 Radio-Frequency Integrated Circuit (RFIC) Design 3 cr.


The course addresses the analysis and design of passive and active Radio Frequency
Integrated Circuits (RFICs). The course introduces the design of on-chip lumped
elements and passive RF components. In addition, it includes the design of various
RF blocks such as low noise amplifiers, power amplifiers, oscillators, mixers, phase
locked loops, frequency synthesizers, and switches. The course provides students
with hands-on experience in the simulation of RFICs as well as the different calibration
and de-embedding techniques for on-wafer measurements. As a result, the students
will be equipped with essential theoretical and practical experience in RFIC design.
Prerequisites: EECE 380 and EECE 311.

EECE 482 Applied Radio Frequency Engineering 3 cr.


The course introduces fundamental design concepts of radio frequency (RF) circuits
and systems along with their physical realization. The course theoretical aspect is
supplemented by laboratory implementation of the designed circuits and systems. The
course covers topics such as microstrip lines, network analysis, distributed impedance
matching as well as electromagnetic interference and compatibility. Furthermore, the
course introduces the design and development of passive and active RF circuits and
systems such as filters, power dividers, directional couplers, low-noise amplifiers,
power amplifiers, down conversion mixers, oscillators, multi-technology transceivers
and radars. The course provides students with a design capability accompanied by
hands-on experience on applied RF engineering. Prerequisite: EECE 380.

EECE 490/690 Introduction to Machine Learning 3 cr.


The course provides an overview of machine learning theory and algorithms that learn
from experience to predict or control yet to be seen instances. The course discusses
the intuition and the theory of some selected modern machine learning concepts as
well as practical know-how to successfully apply them to new problems. It covers topics
in supervised learning such as parametric/ non-parametric, generative/ discriminative
algorithms for classification and regression and in unsupervised learning for clustering,
dimensionality reduction and reinforcement learning. The course also includes case
studies and applications so that students can gain practice on regularization, model
selection, parameter estimation, Bayesian networks, hidden Markov models, support
vector machines, reinforcement learning, neural networks and deep learning. Students
cannot receive credit for both EECE 664M and EECE 633 and 667. Prerequisites: EECE
330, MATH 218 or MATH 219, and STAT 230 or STAT 233.

EECE 491/691 Digital Signal Processing 3 cr.


Digital Signal Processing (DSP) is at the heart of almost all modern technology. This
course introduces the fundamentals of DSP systems, including properties of discrete-
time linear systems, digital filter design, sampling and reconstruction, A/D and D/A
conversion, quantization, discrete-time Fourier analysis, spectral analysis, sample-rate
conversion, FFT and fast convolution, filter structures and realizations, and multirate
DSP and filter banks. The course also discusses applications of DSP in areas such as
speech/audio processing, autonomous vehicles and software radio. It includes a project
related to implementations of DSP applications on embedded processors. Prerequisite:
EECE 340.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 533

ECE 499 Undergraduate Research 3 cr.


This course requires participation, under supervision of a faculty member, in a research
project. Before registering, the student must create a proposal regarding the nature of
the research, the specific goals of the research and the desired final report outcome;
this proposal must be submitted to and approved by the supervising faculty member
and the department before registering. Prerequisites: Completion of 65 required credits
in the major and a cumulative average of 80 (GPA:3.2) or above.

ECE 501 Final Year Project 3 cr.


A supervised project in groups of normally three students aimed at providing practical
experience in some aspects of computer, communications and electrical engineering.
Students are expected to define the project, state its objectives, complete a literature
survey, set project specifications and select a design method. They are also expected
to do some preliminary modeling and analysis, and acquire the necessary material
needed for the completion of the project in the spring term. A professional report and
oral presentation are also required. Prerequisite: EECE 410L or EECE 430L.

EECE 502 Final Year Project 3 cr.


This is a continuation of EECE 501. Students are asked to deliver a product that has
passed through the design, analysis, testing and evaluation stages. The course also
requires the production of a professional report that includes a description of the
design process, implementation and testing, verification and validation and a critical
appraisal of the project. An oral presentation and poster are also project deliverables.
Prerequisite: EECE 501.

EECE 503 Special Topics in ECE 3 cr.

EECE 560/ Mechatronics 3 cr.


MECH 530
A course that discusses mechatronics; data; numbering systems, architecture of the
8-bit Motorola MC68HC11 microcontroller, assembly language programming, A/D and
D/A conversion; parallel I/O programmable timer operation, interfacing sensors and
actuators, applications; a team project on design and implementation of a mechatronic
system. Prerequisites: EECE 312, and MECH 430 or EECE 461.

EECE 601 Biomedical Engineering I 3 cr.


This course includes an introduction to general instrumentation configuration and
performance of instrumentation systems; types and characteristics of transducers;
sources and characteristics of bioelectric signals; types and characteristics of electrodes;
temperature regulation and measurement; cardiovascular system, measurements and
diagnostic equipment; blood instruments; patient care and monitoring; and electrical
safety of medical equipment. Prerequisites: BIOL 210 or BIOL 202 or PHYL 246; and EECE
210 or PHYS 228; and PHYS 228L; or consent of instructor.

EECE 602 Biomedical Engineering II 3 cr.


This course covers respiratory system and measurements; nervous system and
measurements; sensory and behavior measurements; biotelemetry; instrumentation for
the clinical laboratory; x-rays and radioisotope instrumentation; magnetic resonance;
and special surgical techniques. Prerequisite: EECE 601.

Undergraduate Catalogue 2021–22


534 Department of Electrical and Computer Engineering

EECE 603 Biomedical Signal and Image Processing 3 cr.


Fundamentals of digital signal processing as implemented in biomedical applications. It
provides a concise treatment of the tools utilized to describe deterministic and random
signals as the basis of analyzing biological signals: data acquisition, imaging; denoising
and filtering, feature extraction, modeling. The course is tightly coupled with a practical
component through laboratory projects. Examples include the auditory system, speech
generation, electrocardiogram, neuronal circuits and medical imaging. Students should
have reasonable software skills in Matlab. Pre- or corequisite: EECE 340 and STAT 230
or STAT 233.

EECE 604 Communications Engineering for Genetics and Bioinformatics 3 cr.


This course presents research topics with focus on how concepts and techniques
from the field of communications engineering can be applied to problems from the
fields of genetics and bioinformatics. The main topics covered include genomic
data compression, mutual information for functional genomics, channel coding for
gene expression modeling, genomic signal processing and biological computation.
Prerequisite: Senior standing.

EECE 605 Neuromuscular Engineering 3 cr.


Introduction on the nervous system, electrophysiology and chemical kinetics. The cell
membrane in the steady state: resting membrane voltage and membrane equivalent
circuit. Generation and propagation of the action potential: Hodgkin-Huxley model,
properties and propagation of the action potential. Synapses: neuromuscular junction,
fast chemical synapses, second-messenger systems, synaptic plasticity and electrical
synapses. Neurons: neuronal currents, firing patterns and signaling in dendrites.
Muscle: contraction, mechanics and receptors. Control of movement: mechanics,
spinal reflexes, hierarchical organization and control, locomotion, equilibrium-point
hypothesis. Prerequisites: BIOL 210 or BIOL 202 or PHYL 246; and EECE 210 or PHYS
228; and PHYS 228L; and MATH 202.

EECE 612/412 Digital Integrated Circuits 3 cr.


A course on digital electronic circuits; models, current equations and parasitics of CMOS
transistors for digital design; study of CMOS inverter and logic gates, including analysis,
design, simulation, layout and verification; advanced circuit styles; sequential circuits;
advanced topics: semiconductor memories, power grid, clocking strategies, datapath
building blocks, deep-submicron design issues, interconnect. CADTools will be used
for homework assignments, labs and projects. Prerequisites: EECE 310 and EECE 320.

EECE 616 Advanced Digital Integrated Circuits 3 cr.


This course covers advanced concepts in circuit design for digital VLSI systems in
state-of-the-art integrated circuits technologies. Emphasis is on circuit design and
optimization techniques targeted for high-speed circuits, low-power circuits or high-
density circuits. The impact of scaling, deep submicron effects, interconnect, signal
integrity, power distribution/consumption and timing on circuit design is investigated.
Emerging challenges in low power/low voltage design, process variations and memory
design in the nano-scale era are covered. Prerequisite: EECE 412 or EECE 612.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 535

EECE 617 Reliability and Statistical Design 3 cr.


This course explores major aspects of statistical design methodologies with particular
emphasis on electrical and computer engineering problems. It covers various topics in
the domain of reliability, yield estimation, variance reduction methods for purposes
of extreme statistics and rare fail event estimation, modeling and optimization. Case
studies will be provided to analyze manufacturability challenges of advanced circuits
and implications on low power design. Prerequisite: Senior standing.

EECE 621 Advanced Computer Architecture 3 cr.


This course focuses on modern advancements in parallel computer architecture with
emphasis on instruction level parallelism (ILP). Topics include: advanced branch
prediction, data speculation, memory dependence prediction, trace caches, dynamic
optimization, checkpoint architectures, latency-tolerant processors, simultaneous
multithreading, speculative multithreading and virtual machines. A key component
of the course is a research project in which students use architecture performance
simulator to investigate novel architecture techniques. Prerequisite: EECE 421.

EECE 622 VLSI for Communications and Signal Processing 3 cr.


This course introduces concepts in the design and implementation of digital signal
processing systems using integrated circuits. Emphasis is on the architectural
exploration, design and optimization of signal processing systems for communications.
Algorithm, architecture and circuit design techniques are introduced that enable joint
optimization across algorithmic, architectural and circuit domains. A key component
of the course is a project in which students investigate problems in the design
and implementation of low-power and high-performance communication systems.
Prerequisite: Senior or graduate standing.

EECE 623/423 Reconfigurable Computing 3 cr.


A course on reconfigurable computing systems and applications. Contemporary FPGA
architectures. FPGA design flows and tools. High-level synthesis. Hardware/software
partitioning. Host, memory and peripheral interfaces. Operating system support.
Dynamic partial reconfiguration. Classical and emerging applications. Students work on
a set of design assignments and a research project using appropriate FPGA development
boards and tools. Prerequisite: EECE 321.

EECE 624 Digital Systems Testing 3 cr.


This course covers an overview of digital systems testing and testable design; test
economics, fault modeling, logic and fault simulation, testability measures, test
generation for combinational circuits, memory test, delay test, scan design and
boundary scan. Prerequisite: EECE 320.

EECE 625/425 Embedded Systems Design 3 cr.


A course on contemporary embedded systems design. The system design process;
microcontroller architectures and programming; standard peripheral device controllers
(GPIO, timers/counters, interrupts); serial interfaces (RS232, SSI/SPI, I2C, USB);
displays; memory devices and DMA; IoT and network interfaces; analog/digital
conversion; pulse-width modulation; motor control; embedded operating systems.
Students work on a set of design assignments and a major project using appropriate
microcontroller development boards and tools. Prerequisite: EECE 321.

Undergraduate Catalogue 2021–22


536 Department of Electrical and Computer Engineering

EECE 626 Hardware Accelerators for Machine Learning 3 cr.


This course provides an in-depth coverage of architectural techniques used to design
accelerators for training and inference in machine learning systems, with focus on recent
advances towards enabling efficient processing of DNNs. It provides an overview of
DNNs, discusses various hardware platforms and architectures that support DNNs, and
highlights key trends in reducing the computational cost of DNNs via hardware design
changes only or through joint hardware design and DNN algorithm optimizations. It also
covers various development tools that enable students to quickly get started in this
field, and highlights important benchmarking metrics and design considerations to be
used for evaluating a plethora of DNN hardware design options. Case studies include
Google’s TPU, Apple’s Neural Engine, Intel’s Nervana processor, and ARM’s Project
Trillium. The course involves a semester project that focuses on developing architectures
for hardware ML accelerators. Prerequisite: EECE 490 and EECE 420 or EECE 421.

EECE 631 Advanced Topics for in Algorithms 3 cr.


This is a second course on algorithms. The aim of the course is to cover general tools
from probability and convex optimization with applications to randomized algorithms,
approximation algorithms, and theoretical computer science in general. Topics include:
introduction to randomized algorithms, tail inequalities, probabilistic method, random
walks, hashing, derandomization, introduction to approximation algorithms, basics
of linear programming, algorithms for solving linear programs, linear programming
relaxation and approximation algorithms, basics of semidefinite programming,
semidefinite relaxation and approximation algorithms, interior point methods, and
selected topics as time permits. Prerequisites: EECE 331, MATH 218 or MATH 219, and
STAT 230 or STAT 233.

EECE 632/455 Cryptography and Networks Security 3 cr.


This course provides an overview of encryption and network security. The topics include:
classical encryption techniques, block ciphers and the data encryption standard, finite
fields, advanced encryption standard, confidentiality using symmetric encryption,
public-key cryptography, key management, hash and MAC algorithms, digital
signatures, authentication applications, Web security, email security and IP security.
Prerequisite: Senior standing.

EECE 633 Data Mining 3 cr.


This course is an introduction to data mining. Data mining refers to knowledge discovery
from huge amounts of data to find non-trivial conclusions. Topics will range from
statistics to machine learning to database, with a focus on analysis of large data sets.
The course will target at least one new data mining problem involving real data for which
students will have to find a solution. Prerequisite: Senior standing.

EECE 634 Introduction to Computational Arabic 3 cr.


The course discusses computational challenges specific to the Arabic language including
representation, rendering, processing, structure, interface and recognition. The course
also discusses multilingual texts with Arabic and visits text processing techniques such
as encoding, matching, tokenization, search, indexing and pattern matching. The course
reviews the state of the art in automating Arabic language understanding. Prerequisite:
EECE 330.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 537

EECE 636 Automated reasoning 3 cr.


This course introduces automated reasoning basics, techniques and applications.
It covers both logical and probabilistic approaches and offers a perspective on how
automated reasoning algorithms are at heart of the sophisticated artificial intelligence
and machine learning engines. Topics include foundations on logic and probability,
backtracking strategies and satisfiability solving, construction and querying of
probabilistic reasoning structures such as Bayesian networks, temporal reasoning, and
classes of reasoning tasks, reductions and applications. Prerequisite: EECE 330.

EECE 637 Advanced Programming Practice 3 cr.


This is an advanced course on programming practices with a focus on verification.
Teams will work in agile and extreme programming environments; they will use formal
specifications, design patterns and aspect-oriented programming. Projects will involve
tools for source control, debugging, code building, documentation, dynamic and static
verification. Prerequisite: EECE 330.

EECE 638 Software Testing 3 cr.


The course focuses on concepts, techniques and tools for testing software. It provides
practical knowledge of a variety of ways to test software and an understanding of
some of the tradeoffs among testing techniques. The topics include software testing
at the unit, module and system levels; functional and structural testing; regression
testing; mutation testing; test suite minimization and prioritization; automatic test case
generation. Prerequisite: Senior standing.

EECE 639 Advanced Techniques and Applications in Data Mining 3 cr.


A course that covers advanced topics in data mining and recent progress in this field.
Discussions will include which techniques fit best for complex applications in data
mining. Mining complex data will include general text mining, Arabic text mining, social
network analysis, spatial data mining, mining of the World Wide Web, stream data,
time-series data and sequence data. We will also discuss recent application sectors
and trends in data mining in the telecommunication, biological and financial sectors.
Prerequisites: EECE 330; and one of EECE 633, EECE 667 or EECE 693.

EECE 640 Wireless Communications 3 cr.


A course that covers the fundamentals of wireless communications with emphasis
on wireless channel modeling, digital modulation in wireless channels, diversity
techniques, channel coding and interleaving in fading channels, adaptive equalization,
multiple access techniques, the cellular concept and overview of current wireless
communications systems. Prerequisite: EECE 442.

EECE 640L Wireless Communications Laboratory 1 cr.


A laboratory course that covers the following topics: basics of radio network planning
and optimization, radio network planning for the GSM cellular system, radio network
planning for the UMTS cellular system, GSM-UMTS co-existence and co-citing,
radio network planning for the WiMAX broadband system, indoor GSM drive testing
measurements and analysis, outdoor GSM drive testing measurements and analysis,
UMTS drive testing measurements and analysis, and measurement-based wireless
channel modeling. Prerequisite: EECE 640.

Undergraduate Catalogue 2021–22


538 Department of Electrical and Computer Engineering

EECE 641 Information Theory 3 cr.


In this course students study data transmission through introducing the field of
information theory. The theory is introduced in a gradual fashion and students study
its applications to communications theory, computer science, statistics and probability
theory. Covering all the essential topics in information theory, students are introduced
to basic quantities of entropy, relative entropy and mutual information to show how
they arise as natural answers to questions of data compression, channel capacity, rate
distortion and large deviation theory. Prerequisite: STAT 230 or STAT 233 or EECE 442.

EECE 642 Introduction to Coding Theory 3 cr.


This course introduces the theory of error-correcting codes with focus on the
asymptotic, algorithmic and algebraic aspects. Topics include background material
from combinatorics and algebra; Shannon’s coding theorem; linear codes; coding
bounds; classical algebraic codes: Hamming and Hadamard codes, Reed-Solomon
codes and Justesen codes, and decoding algorithms; codes from graphs: low density
parity check codes, expander codes, explicit constructions and decoding algorithms;
and an introduction to Turbo codes. Prerequisite: Senior standing.

EECE 643 RF System Engineering for Wireless Communications 3 cr.


This course introduces students to system blocks, system parameters and architectures
of RF systems for wireless communications. It focuses on the design of a radio system
for transmission and reception of voice and data information: receivers and transmitters
system topologies, key system blocks in a wireless system, determination of system
block parameters from radio requirements and system analysis, tradeoffs modulation
and demodulation schemes and multiple-access techniques link budget analysis of RF
radio links. Prerequisites: EECE 311, EECE 380 and EECE 442.

EECE 644 Stochastic Processes, Detection and Estimation 3 cr.


This is a graduate-level introduction to the fundamentals of detection and estimation
theory involving signal and system models in which there is some inherent randomness.
The concepts that we develop are extraordinarily rich, interesting and powerful, and
form the basis for an enormous range of algorithms used in diverse applications. The
material in this course constitutes a common foundation for work in the statistical signal
processing, communication and control areas. Prerequisites: STAT 230 or STAT 233 and
EECE 340.

EECE 645 Wireless Cellular Technologies 3 cr.


A course on the evolution of cellular technologies with focus on 2G GSM technology, 3G
UMTS/HSPA technology, 4G LTE technology and beyond. Topics include cellular network
fundamentals; standardization; transmitter and receiver link level designs; access and
core network architectures; physical channels and signaling procedures; scheduling
and radio resource management; radio network planning; multiple antenna techniques;
emerging topics. Prerequisite: EECE 640.

EECE 646 Advanced Digital and Data Communications 3 cr.


A course that addresses digital communication principles and techniques aimed at
achieving improved reliability. The course examines information measures such as
entropy and mutual information for discrete and waveform channels; source coding;
channel capacity and coding theorem; linear block and cyclic codes; hard and soft
decision decoding; spread spectrum modulation. Prerequisite: EECE 442.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 539

EECE 647 Queuing Theory 3 cr.


A course that covers Poisson counting and renewal processes; Markov chains and
decision theory, branching processes, birth death processes and semi-Markov
processes; simple Markovian queues, networks of queues, general single and multiple-
server queues, bounds and approximations. Prerequisite: Senior standing.

EECE 650 Client-Server Computing 3 cr.


A course that covers Internet and intranet technologies, the client-server model
of interaction, design and implementation of clients and servers, interactive and
concurrent servers, distributed computing, application gateways, and includes a design
project. Prerequisite: EECE 350 or EECE 351.

EECE 651 Internet Engineering 3 cr.


A course that provides in-depth coverage of Internet architecture, Internet protocols
and routing; discusses recent developments on the Internet such as IPv6, switching and
mobility; and gives a detailed study of TCP. Prerequisite: EECE 350 or EECE 351.

EECE 651L Internetworking Laboratory 1 cr.


This laboratory course covers the technologies and protocols of the Internet. The
experiments cover IP, ARP, ICMP, UDP, TCP, DNS, routing protocols (RIP, OSPF, BGP),
network address translation (NAT), dynamic host configuration (DHCP), SNMP and IP
multicast. Prerequisite: EECE 350 or EECE 351.

EECE 652 Web Server Design and Programming 3 cr.


This course concentrates on major technologies used in building Web servers. It is
divided into two parts: client programming and server programming. The first part
includes HTML, CSS, Java Script and XML programming. The second part is based on
the ASP.NET framework (both Forms and MVC) along with C#. It covers basic controls,
validation, database interfacing, AJAX, sessions and cookies, file uploading and
downloading, emails with attachments, securing websites, user controls and third-
party controls. The course concludes with programming and interfacing with Web
Services. The website development group-based project is a major component of the
course. Prerequisite: Senior standing.

EECE 653 Multimedia and Networking 3 cr.


This course covers topics in multimedia such as system requirements, performance
requirements, representation and compression. Multimedia networking is emphasized
by discussing multicasting, streaming, multimedia networking protocols and
quality of service-based traffic management protocols. Other topics covered include
synchronization, VoIP and Internet 2. Multimedia networking applications are designed
and implemented as student projects. Prerequisite: EECE 350 or EECE 351.

EECE 655 Internet Security 3 cr.


The course covers topics in Internet security. The course discusses security threats,
vulnerabilities of protocols and the different types of attacks. Preventive and defensive
mechanisms are covered, such as: e-mail security, web security, IP security, network
management security, wireless security, intrusion detection techniques, firewalls, VPNs
and tracing the source of attacks. Student projects will be composed of implementation,
simulation and research components. Prerequisite: EECE 350 or EECE 351.

Undergraduate Catalogue 2021–22


540 Department of Electrical and Computer Engineering

EECE 655L Network and Computer Security Laboratory 1 cr.


A laboratory course that addresses advanced network and computer security topics.
Experiments include execution of attacks, setup of intrusion detection and prevention,
securing computers and wired and wireless networks, and digital forensics. Prerequisite:
EECE 350 or EECE 351.

EECE 656 Mobile Ad Hoc and Sensor Networks 3 cr.


This course covers major aspects of ad hoc and sensor networking, and tackles topics
related to mobility, disconnections and battery energy consumption. The course is
composed of two parts: mobile ad hoc networks (MANETs) and wireless sensor networks
(WSNs). The first part provides a detailed treatment of routing protocols in MANETs,
the changes to TCP to support mobility and vehicular networks. In the second part,
topics covered concern information-centric routing, MAC layer provisions for energy
savings, addressing, localization, time synchronization and information dissemination.
The group project gives students hands-on experience in designing protocols and
applications for real sensor devices. Prerequisite: EECE 350 or EECE 351.

EECE 657 Wireless Security 3 cr.


A course that covers wireless network security; security challenges in wireless
networks; security problems facing existing and upcoming wireless networks;
security in naming, addressing, neighbor discovery and routing; and trust and privacy.
Prerequisites: EECE 350 or EECE 351, and EECE 455 or EECE 632.

EECE 660/ System Analysis and Design 3 cr.


MECH 653
A course that outlines state-space models of discrete and continuous, linear and
nonlinear systems; controllability; observability; minimality; Eigenvector and
transforms analysis of linear time invariant multi-input multi-output systems; pole
shifting; computer control; design of controllers and observers. Prerequisite: EECE 460
or MECH 436.

EECE 661/ Robotics 3 cr.


MECH 641
A course that examines robotic manipulators classification and work envelope; robot
kinematics, dynamics and forces; joints trajectory planning for end effector desired
tracking and constrained motion; control of robots using linear, nonlinear and adaptive
controllers. Prerequisite: EECE 460 or MECH 436.

EECE 662/ Optimal Control 3 cr.


MECH 655
A course on optimization theory and performance measures, calculus of variations, the
maximum principle, dynamic programming, numerical techniques, LQR control systems.
Prerequisite: Senior standing.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 541

EECE 663/ System Identification 3 cr.


MECH 656
This course introduces basic mathematical tools to fit models into empirical input-output
data. General time-series modeling and forecasting, such as stock prices, biological
data and others. Topics include nonparametric identification methods: time and
frequency response analysis; parametric identification: prediction error, least squares,
linear unbiased estimation and maximum likelihood; convergence, consistency and
asymptotic distribution of estimates; properties and practical modeling issues: bias
distribution, experiment design and model validation. Prerequisite: Senior standing.

EECE 664 Fuzzy Sets, Logic and Applications 3 cr.


A course that outlines fuzzy sets and related concepts; logical connectives; mapping
of fuzzy sets; extension principle; fuzzy relations and fuzzy set ordering; fuzzy logic
inference; applications: fuzzy control, signal processing, pattern recognition, decision-
making and expert systems. Prerequisite: Senior standing.

EECE 665/ Adaptive Control 3 cr.


MECH 654
A course that includes the control of partially known systems; analysis and design of
adaptive control systems; self-tuning regulators; model reference adaptive control of
uncertain dynamic systems; typical applications. Prerequisite: EECE 460 or MECH 436.

EECE 667 Pattern Recognition 3 cr.


The course provides an overview of algorithms used in machine learning. The course
discusses modern concepts for model selection and parameter estimation, decision-
making and statistical learning. Special attention will be given to regression and
classification for supervised mode of learning. Students will be assigned typical
machine learning problems to investigate as projects. Prerequisite: Senior standing.

EECE 668 Game Theory and Decision-Making 3 cr.


This course provides a set of tools, approaches and perspectives on game theory
to mimic the human elements of decision-making best described by strategy and
cooperation. Topics covered include: games of skills, game of chance, cooperative,
mixed motive, zero sum, coalition and repeated games. Students will be assigned real-
world examples of game theory to investigate as projects. Prerequisite: Senior standing.

EECE 669/ Nonlinear Systems: Analysis, Stability and Control 3 cr.


MECH 648
A course that presents a comprehensive exposition of the theory of nonlinear dynamical
systems and its control, with particular emphasis on techniques applicable to
mechanical systems. The course will be punctuated by a rich set of mechanical system
examples, ranging from violin string vibration to jet engines, from heart beats to vehicle
control, and from population growth to nonlinear flight control. Prerequisite: MECH 436
or EECE 460.

Undergraduate Catalogue 2021–22


542 Department of Electrical and Computer Engineering

EECE 670 Power System Planning 3 cr.


The course investigates electric energy and peak demand forecasts using weather
sensitive, time curve, autoregressive and causal models; generation reliability
evaluation, loss of energy expectation, energy limited units, probabilistic production
costing, generating capacity expansion analysis and maintenance scheduling;
operational planning, unit commitment, hydrothermal coordination; power system
security classification, contingency analysis, external equivalents, optimal power flow;
planning in a competitive electric power environment. Prerequisite: EECE 471.

EECE 671 Environmental Aspects of Energy Systems 3 cr.


A course that examines world energy resources and classifications; sources and
effects of air pollution; air quality modeling, Gaussian dispersion models for pollution
estimation; motor vehicle emissions and noise pollution; environmental impacts of
electricity generation, pollution control systems, electromagnetic radiation, production
and impacts in high-voltage applications; environmental impact assessment; basic
concepts. Prerequisite: Senior standing.

EECE 672 Energy Planning and Policy 3 cr.


This is a course that focuses on features of modern energy planning and policy. Topics
covered include the interaction among technological, economic, environmental and
sociopolitical aspects of energy supply and use; electricity, oil and gas industries, and
their market structures; elements of energy planning on the sector and national levels;
energy decision-making under conditions of uncertainty, risk management in energy
planning; liberalization of energy markets; case studies. Prerequisite: Senior standing.

EECE 673 Power Electronics Systems and Applications 3 cr.


A course that reviews converter topologies for AC/DC, DC/AC and DC/DC; power supply
applications; converter applications to motor drives; utility interface of distributed
energy systems; static VAR systems; flexible AC transmission; high voltage DC; power
quality control; active and passive harmonics compensation. Prerequisite: EECE 473 or
EECE 471.

EECE 674 Energy Storage and Sustainable Systems 3 cr.


The course covers the principles of sustainable energy systems, solar radiation, solar
thermal applications, the Stirling engine, fuel cells and the hydrogen cycle. Various
energy storage technologies are also investigated, e.g. thermal storage, compressed air,
flywheels, batteries, and ultra-capacitors. The operation principles of each application
will be discussed, its current developments and future trends, and students will design
an energy storage solution for a selected application. Pre-requisite EECE 230, EECE 310,
and PHYS 210.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 543

EECE 675 PV and Wind Electric Energy Systems 3 cr.


This course seeks to impart in students a sound understanding of renewable energy
systems in terms of their design, operation and economic impacts. It covers wind
resource assessment and site selection. Drag and lift principles, linear momentum
theory. Turbines characteristics, power and energy yield calculation. Aspects of wind
drive options: horizontal and vertical axis machines, fixed and variable speed wind
turbine generators. It also covers solar resource assessment. Photovoltaic cells:
photo effect, P-N junction, principle of operation of PV cells, circuit models, maximum
power point trackers, I-V and power characteristics, physics of shading, types and
characteristics of autonomous solar energy systems, hybrid systems and grid connected
systems. The economics of wind and solar energy systems. Introduction to small hydro
and geothermal energy systems. Prerequisite: Senior standing.

EECE 676 Modeling and Control of Electric Drives 3 cr.


A course that covers several topics related to modeling and control of electric drives.
The course introduces fundamental equations related to inductance and flux variations
in a rotating machine, leading to torque production. Reference frame theory and
transformations are also studied for modeling purposes. Dynamic models of three-
phase induction and permanent-magnet synchronous machines are derived. Basic
modeling of power electronic converters for electric drives, with focus on three-phase
DC/AC inverters, are introduced. Various control strategies are studied with focus on
vector control and different power electronic switching schemes in electric drives.
Prerequisite: EECE 473 or EECE 474.

EECE 677 Electric Power System Stability and Control 3 cr.


A course on synchronous machine modeling and simulation, response to small
disturbances and voltage instability. Topics include Park’s transformation, flux linkage,
voltage and state-space equations, subtransient and transient parameters, simplified
models of the synchronous machine, treatment of saturation, system reference
frame, small-signal stability, power system stabilizers and bifurcation analysis.
Prerequisite: EECE 678.

EECE 678 Advanced Power System Analysis 3 cr.


A course on optimal dispatch of generation, symmetrical components and unbalanced
faults, transient stability, control of generation, state estimation in power systems and
power system simulation. Prerequisite: EECE 471.

EECE 679 Energy Efficiency in the Power Sector 3 cr.


Topics covered in the course include utility companies and energy supply, energy
sustainability, cogeneration systems: combined heat and power (CHP) and combined
cycle gas turbines (CCGT), reciprocating engines, distributed generation, demand side
management, energy analysis techniques, energy audit: types and data analysis, smart
grids, energy-efficient rotating machines, design and performance optimization; and
case studies. Prerequisite: EECE 370.

EECE 680 Antennas for Wireless Communications 3 cr.


This course provides students with an understanding of basic principles of antenna
analysis and design for wireless communications. The course covers an overview of
the fundamental characteristics and parameters of antennas, an overview of analytical
methods used to analyze and design antennas with application to some basic antenna
structures such as linear antennas, loop antennas, antenna arrays and microstrip
antennas. Prerequisite: EECE 380.

Undergraduate Catalogue 2021–22


544 Department of Electrical and Computer Engineering

EECE 681 Advanced Antenna Design 3 cr.


This course provides students with an understanding of advanced antenna structures
and presents an overview of analytical and numerical methods used to analyze and
design these antenna structures. The course includes broadband antennas, frequency-
independent antennas, aperture antennas, horn antennas, microstrip antennas and
reflector antennas. Students will work on a research paper on a selected antenna design
topic. Prerequisite: EECE 680.

EECE 682 Time-Harmonic Electromagnetic Fields 3 cr.


A course on time-varying and time-harmonic EM fields; electrical properties of
matter; wave propagation and polarization; construction of solutions; reflection and
transmission; electromagnetic theorems and principles in particular equivalence;
rectangular waveguides and cavities; dielectric waveguide, circular waveguides,
spherical waveguide; radiation from structures; scattering by wedges, cylinders and
spheres; radiation from apertures, and perturbational and variational techniques.
Prerequisite: EECE 380.

EECE 683 Numerical Methods in Electromagnetics 3 cr.


This course examines the principles and applications of numerical techniques for
solving practical electromagnetics problems. It covers the moment methods, finite
difference methods, finite element methods and hybrid methods. The course also
investigates application of the finite-volume control method in electromagnetics.
Prerequisite: EECE 682.

EECE 684 Microwave Engineering 3 cr.


This course focuses on the analysis and design of passive microwave circuits. It covers
the fundamentals for radio frequency and microwave engineering. It discusses the
theories of transmission lines, waveguides, impedance matching, microwave networks,
scattering parameters, power dividers, directional couplers, microwave resonators
and microwave filters. The course enables students to study and analyze their own
microwave network using computer-aided design tools and measurement equipment.
Prerequisite: EECE 380.

EECE 685 Radio Frequency (RF) Circuits Design 3 cr.


The course focuses on the analysis and design of Radio Frequency circuits and
components. The course covers RF design techniques using transmission lines, strip
lines, microstrip and coplanar lines. It covers the design of passive and active RF
devices, including impedance transformers, amplifiers, oscillators and mixers. It
provides understanding of S-parameters and signal-flow graph analysis techniques. The
course enables students to get hands-on experience in RF circuit design through the use
of computer-aided design tools to simulate and analyze radio frequency circuits, build
them as part of a course project, and perform measurements in the lab using network
and spectrum analyzers. Prerequisites: EECE 311, EECE 340 and EECE 380.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 545

EECE 686 Radio-Frequency (RF) Transceiver Design 3 cr.


This course targets the physical layer of a communication system by focusing on the
interactions between the various transceiver blocks. The course addresses the design
and operation of the components that reside between the signal processing unit and
the antenna within the RF chain. The course also details the functional level modeling
of different transceiver architectures by accounting for the gain, noise, nonlinearity,
sensitivity and dynamic range. In addition, students are exposed to recent computer-
aided simulation tools and measurement techniques through a set of laboratory
experiments that are tailored based on the course content. As a result, the course
equips the students with theoretical and practical experience in RF transceiver design.
Prerequisites: EECE 311 and EECE 380.

EECE 687/ Radio-Frequency Integrated Circuit (RFIC) Design 3 cr.


The course addresses the analysis and design of passive and active Radio Frequency
Integrated Circuits (RFICs). The course introduces the design of on-chip lumped
elements and passive RF components. In addition, it includes the design of various
RF blocks such as low noise amplifiers, power amplifiers, oscillators, mixers, phase
locked loops, frequency synthesizers, and switches. The course provides students
with hands-on experience in the simulation of RFICs as well as the different calibration
and de-embedding techniques for on-wafer measurements. As a result, the students
will be equipped with essential theoretical and practical experience in RFIC design.
Prerequisites: EECE 380 and EECE 311.

EECE 690/490 Introduction to Machine Learning 3 cr.


The course provides an overview of machine learning theory and algorithms that learn
from experience to predict or control yet to be seen instances. The course discusses
the intuition and the theory of some selected modern machine learning concepts as
well as practical know-how to successfully apply them to new problems. It covers topics
in supervised learning such as parametric/ non-parametric, generative/ discriminative
algorithms for classification and regression and in unsupervised learning for clustering,
dimensionality reduction and reinforcement learning. The course also includes case
studies and applications so that students can gain practice on regularization, model
selection, parameter estimation, Bayesian networks, hidden Markov models, support
vector machines, reinforcement learning, neural networks and deep learning. Students
cannot receive credit for both EECE 690 and EECE 633 and 667. Prerequisites: EECE 330,
MATH 218 or MATH 219, and STAT 230 or STAT 233.

EECE 691/491 Digital Signal Processing 3 cr.


Course topics include a review of signals, systems, sampling and transforms; Euler,
Tustin (bilinear), and Al-Alaoui s-to-z transforms; design of digital filters: FIR and IIR;
multi-rate signal processing with applications; effects of finite word length; discrete
random signals and stochastic spectral estimation; introduction to fractional order
systems; introduction to adaptive filtering; introduction to multi-dimensional signal
and image processing; current topics of interest. Prerequisite: Senior standing.

EECE 691L Digital Signal Processing Lab 1 cr.


This graduate lab is comprised of a set of lab experiments in MATLAB, C and Assembly
covering a series of real-time signal processing topics. The developed laboratory
material is intended to complement the digital signal processing course (EECE 691).
Upon completion of the lab, students will have acquired the required knowledge and
skills to develop real-time DSP systems. Prerequisites: EECE 491 or EECE 691.

Undergraduate Catalogue 2021–22


546 Department of Electrical and Computer Engineering

EECE 692/ Computer Vision 3 cr.


MECH 642
An introductory course on the problems and solutions of modern computer vision. Topics
covered include image acquisition, sampling and quantization; image segmentation;
geometric framework for vision: single view and two-views; camera calibration;
stereopsis; motion and optical flow; recognition; pose estimation in perspective
images. Prerequisite: Senior standing.

EECE 693 Neural Networks 3 cr.


The course provides a comprehensive foundation to artificial neural networks and
machine learning with applications to pattern recognition and data mining; learning
processes: supervised and unsupervised, deterministic and statistical; clustering;
single layer and multilayer perceptrons; least-mean-square, back propagation, deep
learning; Al-Alaoui pattern recognition algorithms; radial basis function networks;
committee machines; principal component analysis; self-organizing maps; current
topics of interest. Prerequisite: Senior standing.

EECE 694 Digital Image Processing 3 cr.


Introduction to multi-dimensional signal processing; digital image fundamentals;
image formation and perception; image representation, coding and filtering; image
enhancement in the spatial and frequency domains; image restoration; color
image processing; wavelet and multi-resolution processing; image compression;
morphological image processing; image segmentation; feature extraction and scene
analysis; representation and description; object recognition; introduction to computer
graphics and computer vision; current topics of interest. Prerequisite: Senior standing.

EECE 694L Image Processing Lab 1 cr.


The EECE 694L graduate lab comprises a set of MATLAB/C++ based lab experiments
in different image processing topics covering image pre and post processing
techniques, image compression, morphological transformations, image restoration
and enhancement techniques, color image processing, computer vision basics,
and geographical image processing. In addition, students will be exposed to
software optimizations for real time image processing using SIMD instructions.
Prerequisite: EECE 694 or EECE 603.

EECE 695 Adaptive Filtering 3 cr.


A course that examines the fundamentals of optimal filtering and estimation, Wiener
filters, linear prediction, steepest-descent and stochastic gradient algorithms;
frequency-domain adaptive filters; method of least squares, recursive least squares,
fast fixed order and order-recursive (lattice) filters; misadjustment, convergence and
tracking analyses, stability issues, finite precision effects; connections with Kalman
filtering; and nonlinear adaptive filters. Prerequisite: Senior standing.

EECE 696 Applied Parallel Programming 3 cr.


This course is an introduction to parallel programming and GPU computing. Topics
include: GPU as part of the PC architecture; CUDA, CUDA threads and CUDA memory;
floating point performance; Open CL; MPI; and reductions and their implementation.
The course also includes application case studies, current topics and a course project.
Prerequisites: EECE 321, and senior or graduate standing.

Undergraduate Catalogue 2021–22


Department of Electrical and Computer Engineering 547

EECE 697/ Wheeled Mobile Robotics 3 cr.


MECH 646
A course that provides in-depth coverage of wheeled mobile robots. The material
covers: nonholonomy and integrability of kinematic constraints. Modeling: kinematics,
dynamics and state-space representation. Nonlinear control strategies (open-loop
and closed –loop). Five case studies are covered throughout the course: car-like, cart-
like, omni- directional wheeled, mobile wheeled pendulums and bike-like robots.
Prerequisite: Senior standing.v

EECE 698/ Autonomous Mobile Robotics 3 cr.


MECH 650
This course is designed to provide engineering graduates and 4th year students with
the opportunity to learn about autonomous mobile robotics. Topics include sensor
modeling, vehicle state estimation, map-based localization, linear and nonlinear
control, and simultaneous localization and mapping. Prerequisites: EECE 230, EECE 312
and MECH 436; or EECE 230 and EECE 460.

EECE 699/ Topics in Artificial Intelligence 3 cr.


This course focuses on some selected topics in AI related to agent and multi-agent
systems, life-long learning and artificial life. Specifically, this course covers both
theoretical and technical issues in reinforcement learning, transfer learning, evolutionary
approaches, quantum genetic algorithms and explainable AI. The course also has a
practical project for students to explore learned concepts from a contemporary lens.
requisite: Senior Standing.

Undergraduate Catalogue 2021–22

You might also like