Software Engineering bachelor`s degree Program


Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software that is, the application of engineering to software. Therefore, developing and maintaining reliable and efficient software systems is the primary concern to software engineering professionals. Software systems should be affordable to develop and maintain and satisfy all the requirements that customers have defined. More recently, it has evolved in response to factors such as the growing impact of large and expensive software systems in a wide range of situations and the increased importance of software in safety-critical applications. Software engineering is different in character from other engineering disciplines due to both the intangible nature of software and the discontinuous nature of software operation. It seeks to integrate the principles of mathematics and computer science with the engineering practices developed for tangible, physical artifacts. Degree programs in computer science and in software engineering have many courses in common. Software engineering students learn more about software reliability and maintenance and focus more on techniques for developing and maintaining software that is correct from its inception. While CS students are likely to have heard of the importance of such techniques, the engineering knowledge and experience provided in SE programs go beyond what CS programs can provide. The importance of this fact is so great that students of SE should participate in the development of software to be used in earnest by others. SE students learn how to assess customer needs and develop usable software that meets those needs. Knowing how to provide genuinely useful and usable software is of paramount importance.

Semester 1    Semester 2    Semester 3    Semester 4    Semester 5    Semester 6    Semester 7    Semester 8   

CodeTitlePrequisitesCourse Material
BA101 Calculus 1 None N/A
BA113 Physics None Course material
CS111 Introduction to Computers None Course material
IS171 Introduction to Information systems None Course material
LH135 English for Specific Purposes I (ESP I) None of LH130* N/A
NC172 Fundamentals of Business None N/A

CodeTitlePrequisitesCourse Material
BA102 Calculus 2 BA101 Course material
CS143 Introduction to Problem Solving and Programming CS111 Course material
EC134 Fundamentals of Electronics BA113 Course material
GM311 Introduction to Multimedia CS111 N/A
LH136 English for Specific Purposes II (ESP II) LH011 N/A
NC133 Communication Skills LH135 N/A

CodeTitlePrequisitesCourse Material
BA201 Calculus III BA102 Course material
BA203 Probability and Statistics BA102 N/A
BA216 Advanced Physics BA113 N/A
CE216 Digital Logic Design CS111 Course material
CS202 Discrete Structures CS111 Course material
CS243 Object Oriented Programming CS143 Course material

CodeTitlePrequisitesCourse Material
CE231 Introduction to Networks CS143 N/A
CE243 Intro. to Computer Architecture CE216 N/A
CS212 Data Structures and Algorithms CS243 Course material
CS244 Advanced Programming Applications CS243 Course material
IS273 Database Systems CS143 Course material
IT291 Professional Training in Entrepreneurship NoneN/A
SE291 Introduction to Software Engineering CS243, IS171 Course material

CodeTitlePrequisitesCourse Material
BA301 Advanced Statistics BA203 N/A
BA304 Linear Algebra BA102 N/A
CS333 Web Programming IS273 Course material
IT321 Professional Training in Programming I (.Net 1) NoneN/A
SE391 Project Management SE291 N/A
SE392 Software Requirements and Specifications SE291 N/A
SE396 Software Engineering Process SE291N/A

CodeTitlePrequisitesCourse Material
CS301 Numerical Methods BA304, CS143 Course material
CS312 Computing Algorithms CS212 Course material
CS322 Operating Systems CS212, CE243 Course material
CS366 Introduction to Artificial Intelligence CS212, CS202 Course material
CS451 Human Computer Interaction SE291 Course material
IT322 Professional Training in Programming II (.Net 2) IT321N/A
SE393 Principles of Software Architecture SE291 Course material

CodeTitlePrequisitesCourse Material
CS481 Computers & Society 96CR+ N/A
IT421 Professional Training in Programming III NoneN/A
Major 1 Major Elective -N/A
Major 2 Major Elective -N/A
Minor 1 Minor Elective -N/A
SE401 Project I GPA>=2.0 & 96 CR N/A
SE491 Software Component Design SE291N/A

CodeTitlePrequisitesCourse Material
CS421 Computer System Security CS322, CE231 Course material
IT422 Professional Training in Programming IV NoneN/A
Major 3 Major Elective -N/A
Major 4 Major Elective -N/A
Minor 3 Minor Elective -N/A
SE402 Project II SE401 N/A
SE497 Software Verification and Validation SE291 N/A


Elective courses


Elective courses