Software Engineering

Software Engineering

B. Sc. in Software Engineering (SWE)

 

Department of Software Engineering 

Daffodil International University  

Syllabus for 

Bachelor of Science in Software Engineering (BSSE)

 

SEM.

CODE

COURSE TITLE

Prerequisite


Course Category

Theory Credit

Lab Credit

Sem.-wise Credit

1st (1-1)

SE 111

Computer Fundamentals

 

CORE

3

 

16

SE 112

Computer Fundamentals Lab

 

LAB

 

1

SE 113

Introduction to Software Engineering

 

CORE

3

 

ENG 114/ ENG 101

English Reading, Writing Skills & Public Speaking/ English I

 

GED

3

 

GE 314/ BNS 101

Bangladesh Studies

 

GED

3

 

MAT 124/ MAT 101

Math-I: Calculus & Geometry/

Mathematics I

 

GED

3

 

2nd (1-2)

SE 121

Structured Programming

SE111, SE112

CORE

3

 

19

SE 122

Structured Programming Lab

SE111, SE112

LAB

 

1

SE 123

Discrete Mathematics

 

GED

3

 

SE 212

Software Requirement Specifications & Analysis

SE113

CORE

3

 

SE 213

Digital Electronics & Logic Design

SE111, SE112

GED

3

 

PHY 125/ PHY 101

Physics: Mechanics, Electromagnetism & Waves/ Physics I

 

GED

3

 

MAT 134/ MAT 102

Math-II: Linear Algebra & Fourier Analysis/ Mathematics II

MAT124/ MAT101

GED

3

 





3rd (2-1)

SE 131

Data Structure

SE121, SE122, SE 123

PGC

3

 

19

SE 132

Data Structure Lab

SE121, SE122, SE 123

LAB

 

1

SE 133

Software Development Capstone Project

SE121, SE122

LAB-P

 

3

SE 215

Object Oriented Programming

SE121, SE122

CORE

3

 

SE 216

Object Oriented Programming lab

SE121, SE122

Lab

 

1

SE 222

Computer Architecture

SE213

PGC

3

 

STA 135/ STA 101

Probability & Statistics in Software Engineering/ Statistics I

 

GED

3

 

GE 115/ AOL 101

Art of living

 

GED

3

 

4th (2-2)

SE 214

Algorithms Design & Analysis

SE131, SE132

PGC

3

 

21

SE 215

Algorithms Design & Analysis Lab

SE131, SE132

LAB

 

1

SE 235

Desktop and Web Programming

 

CORE

3

 

SE 236

Desktop and Web Programming Lab

 

LAB

 

1

SE 223

Database System

 

CORE

3

 

SE 224

Database System Lab

 

LAB

 

1

SE 232

Operating System & System Programming

SE222

PGC

3

 

SE 233

Operating System & System Programming Lab

SE222

LAB

 

1

GE 235

Principles of Accounting, Business & Economics

 

GED

3

 

SE 532/

SE XXX

Introduction to Robotics (G-1)/ 

Guided Elective- I

SE213

PGC

3

 

5th (3-1)

SE 225

Data Communication & Computer Networking

 

PGC

3

 

20

SE 226

Data Communication & Computer Networking Lab

 

LAB

 

1

SE 231

System Analysis & Design Capstone Project

SE133, SE212, SE221

LAB-P

 

3

SE 234

Theory of Computing

 

PGC

3

 

SE 311

Design Pattern

SE221

CORE

3

 

SE 312

Software Quality Assurance & Testing

SE212, SE221

CORE

3

 

SE 313

Software Quality Assurance & Testing Lab

SE212, SE221

LAB

 

1

GE 324

Business Analysis & Communication

ENG114/ ENG101, SE212

GED

3

 


6th (3-2)

SE 321

Software Engineering Web Application

SE121, SE122

CORE

3

 

20

SE 322

Software Engineering Web Application Lab

SE121, SE122

LAB

 

1

SE 323

Software Architecture & Design

SE212, SE221, SE223, SE311

CORE

3

 

SE 332

Information System Security

 

CORE

3

 

SE 411

Software Project Management & Documentation

SE312

CORE

3

 

SE 333

Artificial Intelligence

SE214, SE234

CORE

3

 

SE 334

Artificial Intelligence Lab

SE214, SE234

LAB

 

1

SE 544/ 

SE XXX

Introduction to Machine Learning (G-2)/ 

Guided Elective- II

MAT 101,MAT 102, STA 101, SE 121

PGC

3

 

7th (4-1)

SE 331

Software Engineering Design Capstone Project

SE231, SE312, SE321, SE323

LAB-P

 

3

18

GE 557/ GED 302/ EMP101

Employability 360 Non-Major Only

 

GED

3

 

SE 535/ SE XXX

Mobile Application Development/ (Open Elective-1) Non-Major Only

 

PGC

3

 

SE 447/ SE XXX

Human Computer Interaction (Open Elective-2) Non-Major Only

 

PGC

3

 

SE 599/ SE XXX

Research Methodology & Scientific Writing (Open Elective-3) Non-Major Only

 

PGC

3

 

SE 442/

SE XXX 

Management  Information System (G-3)/

Guided Elective- III

 

GED

3

 

RE 331 

Embedded Programming (RE Major Only) 

SE 213, SE 121, SE 532

MAJOR

2

 

RE 332

Embedded Programming Lab (RE Major Only)

SE 213, SE 121, SE 532

MAJOR-L

 

1

RE 411

Embedded Systems Design & Development (RE Major Only)

RE 331, RE 332

MAJOR

2

 

RE 412

Embedded Systems Design & Development Lab (RE Major Only)

RE 331, RE 332

MAJOR-L

 

1

RE 421

Robotic Process Automation Design & Development (RE Major Only)

RE 331, RE 332, RE 411,RE 412,SE 442, SE 331

MAJOR

2

 

RE 422

Robotic Process Automation Design & Development Lab (RE Major Only)

RE 331, RE 332, RE 411,RE 412,SE 442, SE 331

MAJOR-L

 

1

CS 211

Cyber Security Fundamentals (CS Major Only) 

SE 332

MAJOR

3

 

CS 418

Network & Communication Security (CS Major Only)

CS 211

MAJOR

3

 

CS 422 

Digital Forensic (CS Major Only)

CS 418

MAJOR

3

 

DS 331

Introduction To Data Science and Data Management & Analysis (DS Major Only)

STA 101, SE 121

MAJOR

2

 

DS 332

Introduction To Data Science and Data Management & Analysis Lab (DS Major Only)

STA 101, SE 121

MAJOR-L

 

1

DS 411

Statistical Data Analysis (DS Major Only)

DS 331, DS 332

MAJOR

2

 

DS 412

Statistical Data Analysis Lab (DS Major Only)

DS 331, DS 332

MAJOR-L

 

1

DS 421 

Machine Learning Driven Data Analysis  I(DS Major Only)

DS 411,DS 412, SE 544

MAJOR

2

 

DS 422

Machine Learning Driven Data Analysis  Lab   I  (DS Major Only)

DS 411,DS 412, SE 544

MAJOR-L

 

1

8th (4-2)

SE XXX

Guided Elective-IV Non Major Only

 

PGC

3

 

12

SE341/ SE XXX 

Numerical Analysis (G -5) Non –Major Only/

Guided Elective- V

 

PGC

3

 

SEXXX/ GE 557/ GED 302/ EMP 101

Employability 360 (G-4) / Guided Elective-IV All Majors Only

 

GED

3

 

RE 423

Advanced Robotics (RE Major Only)

RE 331, RE 332, RE 411,RE 412

MAJOR

2

 

RE 424

Advanced Robotics Lab (RE Major Only)

RE 331, RE 332, RE 411,RE 412

MAJOR-L

 

1

CS 334

Ethical Hacking & Countermeasures (CS Major Only)

CS 418

MAJOR

1

 

CS 335

Ethical Hacking & Countermeasures Lab (CS Major)

CS 418

MAJOR-L

 

2

DS 423

Machine Learning Driven Data Analysis  

II and Communicating Data Insights (DS Major Only)

DS 411,DS 412, SE 544

MAJOR

2

 

DS 424

Machine Learning Driven Data Analysis  

II and Communicating Data Insights Lab (DS Major Only)

DS 411,DS 412, SE 544

MAJOR-L

 

1

SE 431

Final Year Project/ Thesis/ Internship 

 

PRO-THE

 

6

RE 431

Robotics & Embedded Systems Major Capstone Project (RE Major Only)

 ALL RE

Major courses  

PRO-THE

 

6

CS 439

Cyber Security Major Capstone Project (CS Major Only)

ALL CS Major Courses  

PRO-THE

 

6

DS 431

Data Science Major Capstone Project (DS Major Only)

ALL DS Major Courses  

PRO-THE

 

6

   

TOTAL CREDIT

   

116-120

25-29

145

   

TOTAL COURSE

         

 

* Course Categories:

  1. GED: General Education Courses

  2. PGC: Preparatory General Core

  3. CORE: Software Engineering Core

  4. LAB: Laboratory Courses

  5. LAB-P: Lab Based Project Courses

  6. MAJOR: Major Courses (All Majors)

  7. MAJOR-L: Major Laboratory Courses (All Majors)

  8. PRO-THE: Final Year Project/ Thesis


Semester 1(1st Year 1st Semester) 

Course Code: SE111


Total Marks: 100

ISCED: 0611-111

Course Title: Computer Fundamentals

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 1

Term: 1

 

Course Objectives                                                                                                                                   

The goal of this course is to introduce the students to the concept of basic logic operation and the basics of computer function and operation. The main objectives of this course are,

  • To integrate the basic components and functions of a computer system.

  • To construct the digital circuits using logic gates and other electronic components.

  • To apply the principles of software systems to solve problems and design solutions.

  • To evaluate the security of computer systems and networks.

 

Course Content                                                                                                           

Basic computer system, computer codes, convert number systems, logic gates, Application of logic gate, Basic concepts on microprocessors and microcomputers. Data and information, variables, Loops, Condition, identify errors in logical flow in flowcharts, correct the logic of the control structures of simple programs in programming language. Various parts of a computer system, input/output devices, Memory hierarchy, Types of memory, Memory operation, Data communication, Types of networks.

 

Textbook/Recommended Readings                                                                                               

Computer Fundamentals and ICT. 2nd Edition, 2017, DIU press. by M. Lutfar Rahman,M. Shamim Kaiser, M. Arifur Rahman, M. Alamgir Hossain,

 

Reference Books/ Other Supplementary Readings                                                                     

  1. Computer Fundamentals(1st Edition) by Pradeep K. Sinha & Priti Sinh,

 

Course Code: SE 112


Total Marks: 100

ISCED: SE112 /0611-112

Course Title: Computer Fundamental Lab

Semester: Spring 2024

Credit: 1 (Lab)

Contact Hours: 1 hour 15 minutes (18 weeks)

Prerequisite: N/A

Course Type: Core

Level: 1

Term: 1

Course Content                                                                                                          

The Computer Fundamentals Lab is designed to provide students with a hands-on understanding of core concepts in computing, programming, and essential software tools. Throughout this course, students will delve into the fundamentals of data, programming logic, and software applications, enabling them to build a strong foundation in computer science and information technology. Emphasis will be placed on practical implementation, ensuring students gain real-world skills that are applicable in various academic and professional settings.

 

Course Objectives                                                                                                                                       

By the end of course through lectures, readings, home works, lab assignments and exams, students will be taught:

  1. To Understand the concepts of data and information and their relevance in programming and hands-on experience in creating websites using Google Sites;

  2. To understand basic computer tools like Draw.io, Canva, and various Google tools;

  3. To apply programming concepts through practical examples and exercises;

  4. To apply essential skills in using Microsoft Office tools such as Word, Excel, and PowerPoint.

 

Textbook/Recommended Readings                                                                                               

Computer Fundamentals" by P K Sinha. 

 

Reference Books/ Other Supplementary Readings                                                                      

  1. "Fundamentals of Computers" by Rajaraman V and Adabala N

  2. "FUNDAMENTALS OF COMPUTERS" by E Balagurusamy

 

Course Code: SE 113

CIE Marks: 60

ISCED: 0613-113

SEE Marks: 40

Course Title: Introduction to Software Engineering

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: (If any)

Course Type: Core

Level: 1

Term: 1

 

Course Objectives                                                                                                                             

To provide a solid conceptual understanding of the fundamentals of Software Engineering. More specifically,

  • To apply fundamental software engineering principles and practices to real-world scenarios.

  • To compare and contrast different SDLC models (waterfall, agile, iterative, etc.) and their suitability for various projects. Also, core agile methodologies like Scrum and Kanban for flexible and adaptive project management.

  • To analyze user needs and translate them into clear, concise, and measurable requirements, including various requirement elicitation techniques (interviews, surveys, observation) to capture user feedback.

  • To create and interpret UML diagrams (use case, class, sequence, activity) to visualize software structure and behavior.

  • To understand software security and quality through different approaches.

  • To apply fundamental project management principles (planning, monitoring, control) to software projects and utilize project cost estimation techniques like Functional Point Analysis and COCOMO models.

 

Course Content                                                                           

Software engineering fundamentals, software process, software process models, methodologies; prototyping, iterative process models, incremental software development, agile software development, extreme programming, Kanban, and SCRUM; Software requirement Engineering: functional and non-functional requirement, requirement engineering process, requirement elicitation, specification, validation, and change; software design. software modeling, UML diagrams; software testing, different types of testing, test-case design, white box testing: basis path testing with cyclomatic complexity, black box testing: interface testing, equivalence partitioning, boundary value analysis, object-oriented software testing: class testing, behavioral testing, Halstead’s complexity, Decision table; maintenance, documentation, reliability engineering, software quality and security, reverse engineering, software risk management, software project management: phases of software project management, estimation techniques, scheduling techniques, COCOMO models.

 

Textbook/Recommended Readings                                                                                               

Roger S Pressman, Software Engineering: A Practitioner's Approach, 9th Edition, McGraw-Hill, 2020, ISBN 10: 1259872971

 

Reference Books/ Other Supplementary Readings                                                                     

  1. Ian Sommerville, Software Engineering, 10th edition, Pearson, 2016, ISBN: 10: 0133943038 

  2. Ahmed, Ashfaque, and Prasad, Bhanu, Foundations of Software Engineering, CRC Press, Taylor & Francis Group, 2016, ISBN 9781498737593

 

Course Code: ENG 101


Total Marks: 100

ISCED: 0611-101

Course Title: ENGLISH I

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 1

Term: 1

 

Course Objectives                                                                                                                                 

To improve the basic skills of English language to communicate confidently and naturally, more specifically,

  • To enhance the ways to communicate opinions and information on everyday topics and common experiences, and express and justify opinions. 

  • To improve the ability to follow conversations, to retain information and assimilate factual details, and to draw conclusions from information gathered through effective listening. 

  • To develop the reading techniques for general sense, main ideas, and details, and also to understand the author’s inferences and opinions

  • To make the writing skill for writing a response, organize ideas, and use wide-ranging vocabulary and grammar well and accurately.

 

Course Content                                                                                                             

Overview of Basic Skills of English:Speaking, Basic Grammar: Use of Articles, Identifying Parts of Speech, Syntax: Run on, Fragments, speaking: Self Introduction, Social English: Greeting, Answering to Greeting, Agreeing & Disagreeing, Small Talks etc., Relating and Demonstrating Ideas on Selective Topics; Introduction to IELTS Speaking: Part I and II, Reading: Reading techniques (Skimming and Scanning), Reading Comprehension: Practices from IELTS Reading Comprehension: (True/False/Not Given, Flow chart, Matching Heading, Matching Features, Multiple Choice Question, Short Answer etc.), Writing: Formal Letter Writing, Cover Letter, CV, Resume, Video Resume, Email Writing, Paragraph Writing, Essay Writing.

 

Textbook/Recommended Readings                                                                                        

  1. A Basic English Grammar: Exercises-John Eastwood

  2. Grammar Practice Activities for Intermediate Students of English-Leo Jones

  3. A Guide to Paragraph Writing-T C Jupp & John Milne

  4. Cambridge IELTS

 

Reference Books/ Other Supplementary Readings                                                             

  1. Essential English Grammar-Raymond Murphy

  2. Common Mistakes in English-TJ Fitikides

 

Course Code: BNS 101

CIE Marks: 60

ISCED: 0613-131

SEE Marks: 40

Course Title: Bangladesh Studies

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 1

Term: 1

Section: 

 

Course Objectives                                                                                                                                       This course aims to introduce the students to the multi-faceted concept of modern Bangladesh, along with its long historical background and inevitable emergence as a state entity in the modern world. The main objectives of this course are: 

  • To introduce students to the long political history of Bangladesh and the necessity of its emergence by discussing the actual events and facts.

  • To make students' understanding clearer, authentic, and rational in the nation-building and state-building process. 

  • To prepare students for competitive exams by providing them with basic knowledge and realities about the origin and surrounding environment. 

  • To increase the sense of patriotism and aspirations among the learners that can strengthen their commitment to nation-building. 

 

Course Content          

Geography: location, borders, topography, resources, climate; Demographic traits: demographic dividend, human development; Society and culture: Social stratification, traditions, values, festivals; Ethnic identity of people of Bangladesh; Origin and development of the name of Bangladesh; Origin and development of Bangla language; Bangladesh in international affairs: principles, objectives and determinants of foreign policy, achievements and challenges; Constitution of Bangladesh: concept, essentials, principles, rights, and amendments; Organs and functions of government: Digitalization and Service Sector in Bangladesh; Historical background of Bangladesh: Language movement, Six-points demands, Liberation war, constitutional development in post-liberation; Economic profile of Bangladesh: macro perspective, blue economy, gig economy; Development approaches: Vision 2041, SDGs, Delta plans; Agricultural Productivity and Rural Development; Urbanization: push-pull model of migration; Environmental degradation and climate change; Industrial sector: overview of major industries, ICT & Software sector of Bangladesh 

 

Textbook/Recommended Readings                                                                                                 

A Handbook on “Bangladesh Studies” compiled by the Dept. of Development Studies, Daffodil International University.

 

Reference Books/ Other Supplementary Readings                                                                      

  1. Bangladesh Economic Review Report, Ministry of Finance, Government of Bangladesh.

  2. Vulnerability and Adaptation to Climate Change for Bangladesh, S. Huq, M. Saduzzaman 2013, Springer Publication

  3. A History of Bangladesh, Willem van Schendel, Cambridge University Press, UK.

  4. Foreign Relations of Bangladesh, Harun ur Rashid, Rishi Publications, Dhaka, Bangladesh.

  5. The Unfinished Memoirs, Sheikh Mujibur Rahman, University Press Limited, 2012.

  6. The Constitution of the People’s Republic of Bangladesh, Ministry of Law, Justice and Parliamentary Affairs, Bangladesh.

 

Course Code: MAT101


Total Marks: 100

ISCED: 0541-101

Course Title: Mathematics-I

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 1

Term: 1

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of calculus. More specifically,

  • To learn the basic concepts of function, its domain, range, and graph of a function. 

  • To learn various kinds of methods of differentiation and partial differentiation. 

  • To learn different kinds of methods of indefinite, definite, and multiple integrations. 

  • To learn the concepts and techniques to find the area and volume of surfaces.

 

Course Content                                                                                                        

Function, Domain, Range, Graph, Limit, Continuity & Differentiability, Derivatives; Differentiation and Successive Differentiation of various types of function; Leibnitz’s Theorem, Roll’s Theorem; Mean value Theorem; Taylor’s and McLaurin’s Theorem in finite and infinite forms, Euler’s Theorem; Maximum and minimum values of functions of single variable, Expansion of functions; Evaluation of indeterminate forms; Partial differentiation, Integration by the method of substitutions, successive reduction; Integration by parts; Standard integrals; Definite integrals: properties and use in summing series; Walli’s Formula, Improper integrals, beta function and gamma function; Jacobian; Multiple integral and its application, Area and volume between curves and axes.

 

Textbook/Recommended Readings                                                                                               

  1. Calculus” by Howard Anton

  2. “A textbook on Differential Calculus” by Mohammad, Bhattacharjee and Latif

 

Reference Books/ Other Supplementary Readings                                                                       

  1. “Differential Calculus and Integral Calculus” by Dr. Md. Abdul Matin

 

Semester 2(1st Year 2nd Semester)

 


 

 

Course Code: SE 121


Total Marks: 100

ISCED: 0613-121

Course Title: Structured Programming

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 1

Term: 2

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the high-level, general-purpose Structured

Programming Language. More specifically,

  • To learn preprogramming steps like writing algorithms, and drawing flowcharts.

  • To learn the syntax and semantics of C programming.

  • To learn different control structures like decision control, and loop control.

  • To Understand the limitations of basic data types and learn the concepts of derived data types and user-defined data types (Array and Structure).

  • To use strings and learn about the string handling functions.

  • To learn the concepts and benefits of using user-defined functions.

  • To develop logical thinking and being able to analyze the execution of a C program.

 

Course Content                                     

Overview of C: Basic structure of C programs, Importance of learning C programming, Execution of a C program. Constant, Variables, and Data Types: Different data types and their specifiers, declaration of variables, Assigning values to variables, taking input using scanf() function, Operators and Expressions: Arithmetic operator, Relational operator, Logical operator, Increment Decrement operator, Conditional operator, Conditional Statements: simple if statement, if...else statement, Nesting if... else statement, if...else if ladder, switch statement. Loops: while loop, do..while loop, for loop, nested for loop, continue and break, Array: Declaration and Initialization of 1D and 2D arrays. Strings: Declaration and Initialization of String variables, arithmetic operation on characters, string handling functions, User-defined Functions: Definition of user-defined function, Elements of user-defined functions, Category of user-defined functions, Structures: Defining a structure, Declaring structure variables, Accessing structure members, Structure initialization.

 

Textbook/Recommended Readings                                                                                               

Programming in ANSI C By Balaguruswamy- Sixth Edition.

 

Reference Books/ Other Supplementary Readings                                                                      

  1. Let us C by Ashavant P. Kanetkar- Fifth Edition

  2. Learn C the Hard Way by Zed Shaw.

 

Course Code: SE 122


Total Marks: 100

ISCED: 0613-122

Course Title: Structured Programming Lab

Semester: Spring 2024

Credit: 1 (Lab)

Contact Hours: 1 hour 15 minutes (18 weeks)

Prerequisite: SE 111, SE112

Course Type: Core

Level: 1

Term: 2 

 

Course Objectives                                                                                                                                       The goal of this course is to introduce the students about the concept of structured programming. The main objectives of this course are, 

  • To analyze a problem and develop the logical thinking

  • To design, implement, and evaluate an algorithm

  • To apply knowledge of C programming in solving problems

  • To become enabled to determine errors from a code and correct it.

 

Course Content                                                                                                         

Overview of C: Basic structure of C programs, Importance of learning C programming, Execution of a C program. Constant, Variables, and Data Types: Different data types and their specifiers, declaration of variables, Assigning values to variables, taking input using scanf() function, Operators and Expressions: Arithmetic operator, Relational operator, Logical operator, Increment Decrement operator, Conditional operator, Conditional Statements: simple if statement, if…else statement, Nesting if…else statement, if…else if ladder, switch statement. Loops: while loop, do..while loop, for loop, nested for loop, continue and break, Array: Declaration and Initialization of 1D and 2D arrays. Strings: Declaration and Initialization of String variables, arithmetic operation on characters, string handling functions, User-defined Functions: Definition of user defined function, Elements of user defined functions, Category of user defined functions, Structures: Defining a structure, declaring structure variables, Accessing structure members, Structure initialization.

 

Textbook/Recommended Readings                                                                                      Programming in ANSI C By Balaguruswamy- Sixth Edition.

 

Reference Books/ Other Supplementary Readings                                                                      

  1. Let us C by ashavant P. Kanetkar- Fifth Edition

  2. Learn C the Hard Way by Zed Shaw.

 

Course Code: SE123


Total Marks: 100

ISCED: 0613-123

Course Title: Discrete Mathematics

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 1

Term: 2

 

Course Objectives                                                                                                                                      

To provide a solid conceptual understanding of the fundamentals of Discrete Mathematics, More specifically,

  • Express a logic sentence in terms of predicates, quantifiers, and logical connectives..

  • Apply the rules of inference and methods of proof including direct and indirect proof forms, proof by contradiction, and mathematical induction.

  • Use tree and graph algorithms to solve problems.

  • Evaluate Boolean functions and simplify expressions using the properties of Boolean algebra.

 

Course Content                                                                                                        

The syllabus of the course has been divided into four core sections. These are propositional & predicate logic, set theory & probability, function & relation, and graph theory & binary three. These four sections have been expanded with necessary subsections. The propositional & predicate logic starts with a simple and compound logical statement. After that, with the discussion and application of logical connectives and the truth table, the students learn to apply the concept to solve relevant problems. The set theory and probability contain the basic terminologies, sample space formation, and probability concepts in appropriate contexts. The function and relation section introduces different types of functions, their scope of application, and the comparison between function and relation. Finally, graph theory and binary three cover the terminologies of graph theory, different types of graphs, and the essentials of the binary tree.

 

Textbook/Recommended Readings                                                                                

Discrete Mathematics and Its Applications, 6/e, Kenneth Rosen, ISBN: 0072880082© 2007

 

Reference Books/ Other Supplementary Readings                                                              

 

  1. Epp, S., Discrete Mathematics with Applications, 3rd edition, PWS Publishing Company.

  2. Bauer, D., Lecture Notes in Discrete Math, Stevens Tech edition.



Course Code: SE212


Total Marks: 100

ISCED: 0613-212

Course Title: Software Requirements Specification & Analysis

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 1

Term: 2

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of data communications. More specifically,

  • To learn the basic concepts of the Requirement Engineering Process.

  • To learn different lifecycle models and explain their importance.

  • To learn many approaches to gather requirements from users and design with proper documents.

  • To learn the design requirements for developers.

  • To learn the concepts and techniques in error detection and correction.

Course Content                                                                                                             

Basic software requirements, Requirements Engineering, Functional and Non-Functional requirements, Feasibility Study, Stakeholders for a system, design user profile, Requirements Elicitation Techniques, Requirements Representation, SRS documentation, Use Case, Requirements Modeling, Actor of a use case, Include and Extended Use Case, Case description Requirements Prioritization Techniques, Requirements Traceability Matrix, Prototyping, Usability and UX, SUS calculation.

 

Textbook/Recommended Readings                                                                

  1. “Requirements Engineering: Processes and Techniques” by Gerald Kotonya, Ian Sommerville, Wiley Publishing, 1998.

 

Reference Books/ Other Supplementary Readings                                                                      

  1. Sommerville, Ian. Software engineering. Addison-Wesley/Pearson, 2011.




Course Code: SE 213


Total Marks: 100

ISCED: 0714-213

Course Title: Digital Electronics & Logic Design

Semester: Fall 2023

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: (If any)

Course Type: Core

Level: 1

Term: 2

 

Course Objectives

The objective of this course is to deliver insights into digital electronics and logical designs as the circuits in the real-world works, specifically:

  • To learn to represent numerical values in various number systems,

  • To learn to demonstrate knowledge of logic gates, Boolean algebraic manipulation

  • To learn to apply theorems and mappings for simplification of expressions

  • To learn to design and implement types of decoders, encoders, multiplexers, and De-multiplexers.

  • To learn to apply circuits for developing flip-flops and memory registers

Course Content 

Foundation of Digital Electronics, Fundamental concepts, digital and analog quantities, advantages of digital electronics,  Introduction to Number Systems, Conversion Number Systems, Expression, truth table, universal properties of NAND & NOR gates, Simplification of expression using Boolean algebra, Binary Subtraction using 1's and 2’s complements, Design of Combinational Logic using TT, Boolean algebra, Adder Circuit, Half Adder, Full Adder, Parallel Adder, Introduction to K-Map, SOP, POS, MINTERM, MAXTERM,3-4 variable K- MAP, construction of map, implementation of expression using map, grouping and simplification, Advanced Combinational Circuits, Decoder (Binary to Decimal, Octal, Hexadecimal,Advanced Combinational Circuits, Converters (BCD to XS- 3), Introduction to Multiplexers and De- multiplexer,Design of Multiplexer Circuits, Design of De- multiplexer Circuits, Introduction to Parity, Design of Parity Generator Circuits, Design of Parity Checker Circuit to detect error during transfer or transmission of Data, Introduction to comparator circuit using complex combinational Logic, Introduction to Computer Memory, Introduction to Flip Flops, Design of J-K, S-R, Latche. 

 

Textbook/Recommended Readings                                                                                      

 

“Digital Logic & Computer Design” by M. Morris Mano (4th Edition)

 

Reference Books/ Other Supplementary Readings                                                               

  1. “Digital Systems: Principals and Applications” by Ronald J. Tocci et. Al.Pearson Education International, 2007

  2. https://www.tutorialspoint.com/digital_circuits/ 

 

Course Code: PHY101


Total Marks: 100

ISCED: 0533-101

Course Title: General Mechanics, Waves, and Oscillations,

Optics and Atom and Modern Physics

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: (If any)

Course Type: Core

Level: 1

Term: 2

 

Course Objectives                                                                                                                             

To provide a solid conceptual understanding of the fundamentals of Software Engineering. More specifically,

  • To grasp the foundational concepts and development of mechanics, analyzing two-dimensional motion including projectile motion and forces such as friction.

  • To explore key principles in work, energy, momentum, and moment of inertia.

  • To Understand waves and oscillations, investigating simple harmonic motion and various wave types.

  • To explore optics, covering historical context, geometrical optics, and physical optics.

  • To examine the atomic structure, the nucleus, and the concept of nuclear energy.

  • To introduce fundamental principles in modern physics, including the theory of relativity, the photoelectric effect, the Compton effect, pair production, X-rays, and radioactivity.

 

Course Content                                                                                                        

Mechanics: Overview; history; classical mechanics; Newton’s laws of motion; Motion in two dimensions: Projectile motion and its application; Force and friction force, Work & Energy, Momentum and Moment of inertia Waves and oscillations: Concepts of waves & oscillations; Simple harmonic motion: energy, composition, damped and forced vibration; types of waves, stationary and progressive wave and their applications.Optics: Concepts of the historical background of optics, classifications: Geometrical optics; reflection, refraction, total internal reflection; Physical optics: Interference, diffraction, polarization, their uses. Atom and Modern Physics: Atomic structure and atomic development, Atomic nucleus and nuclear energy. Basic concepts of modern physics: Theory of relativity; Einstein’s photoelectric effect, Compton effect, pair production, X-Ray. Radioactivity.

 

Textbook/Recommended Readings                                                                                               

Physics-I&II by D. Halliday& R. Resnick

 

Reference Books/ Other Supplementary Readings                                                                      

  1. Physics for Engineers (Part-I an Part-II) by Prof. GiasUddin Ahmad*

  2. Waves and Oscillations by Brij Lal and N. Subrahmanyam

  3. Principles of Optics by B. K. Mathur

  4. Modern Physics by Arthur Beiser

  5. Atomic and Nuclear Physics: Subrahmaniyam Brijlal

 

Course Code: MAT 102


Total Marks: 100

ISCED: 0541-102

Course Title: Mathematics II

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: MAT 101

Course Type: Guided Elective

Level: 1

Term: 2

 

Course Objectives                                                                                                                                      To provide a solid conceptual understanding of Linear Algebra, Complex Variables, and Fourier analysis. More specifically,

  •  To learn to solve problems using linear algebra

  •  Demonstrate comprehension of operations on matrices.

  •  To learn how to find Eigenvalues and Eigenvectors of a matrix

  •  To be able to use linear algebra in real-life applications.

  •  To learn the complex number system.

  •  To learn about analytic functions of complex variables.

  •  To learn about the Euler Theorem, and De Moivre’s Theorem.

  •  To learn about the Fourier series & Fourier Transformation.

 

Course Content (from syllabus)                                                                                                            

Linear Algebra: Basic of Matrix and Matrix Algebra, Types of Matrix, Determinant of Matrix (Higher Order), Inverse Matrix, Rank of Matrix, RREF & NF of a Matrix, System of Linear Equations, Eigenvalues and Eigenvectors, Cayley-Hamilton Theorem; Complex Variables: Basic of Complex Numbers, Modulus, Argument, Different form of Complex Number, Cauchy Riemann Equation, Laplace’s Equation, Harmonic Function, Euler Theorem, De Moivre’s Theorem; Fourier Analysis: Fourier series, Fourier Transformation.  

 

Textbook/Recommended Readings                                                                                               

  1. Linear Algebra: a first course by Mohammad Salek Parvez

  2. Complex Variable by Schaum’s Series 

  3. Fourier Analysis by Schaum’s Series 

Reference Books/ Other Supplementary Readings                                                                      

  1. An Introduction to Linear Algebra by Prof. Md. Abdur Rahman

  2. Elementary Linear Algebra – Howard Anton, Chris Rorres.

 

Semester 3(2nd Year 1st Semester)

 


 

 

Course Code: SE 131


Total Marks: 100

ISCED: 0612-131

Course Title: Data Structure

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE121, SE122, SE123

Course Type: Core

Level: 2

Term: 1

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of data Structure, More specifically,

  • To provide the knowledge of basic data structures and their implementations.

  • To understand the importance of data structures in the context of writing efficient programs.

  • To develop skills to apply appropriate data structures in problem-solving.

  • To learn how data are stored in our computer memory

  • Be familiar with writing recursive methods

 

Course Content                                                                                                       

Overview of Data Structures, Algorithm and Complexity, Time Space Tradeoff,  Recursion, Iteration , Record, Pointer, Implementation of Memory, Array:Traverse, Insert, Insert at any position, Delete at any position, Linear Search, Linear Search complexity, Binary Search, Binary Search Complexity, Searching- Bubble Sort, Factorial and Tower of Hanoi Problem; Marge, Stack: Stack data Insertion, Stack Deletion, Stack : Search, Prefix, Infix and Postfix Expressions, Queue: Queue data Insertion, Queue Deletion, Queue: Search, Double Ended Queue, Priority Queue, Hashing: Hash Indices and Hash Functions, Static Linked List: List ADTs,  Linked List data Insertion, Deletion, Search, Double Way Linked List: data Insertion, Deletion, Search, Circular Way Linked List: data Insertion, Deletion, Search, Tree, Tree terminologies, Binary Search Tree: Insertion, Deletion, Search, AVL Tree, Heaps, Heap Sort, Graph, Graph Terminologies, Adjacency matrix, Adjacency List, Graph data Insertion, Graph Deletion, Graph: Search.




Textbook/Recommended Readings                                                                                                

Data Structures: A Pseudocode Approach with C, 2nd Edition, by ichard F. Gilberg (Author), Behrouz A. Forouzan (Author)

 

Reference Books/ Other Supplementary Readings                                                              

 

  1. Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles" is a book written by Narasimha Karumanchi.

  2. Data Structures (SIE) Paperback – January 1, 2014

  3. https://www.geeksforgeeks.org/data-structures/

 

Course Code: SE 132


Total Marks: 100

ISCED: 0613-132

Course Title: Data Structure Lab

Semester: Spring 2024

Credit: 1 (Lab)

Contact Hours: 1 hour 15 minutes (18 weeks)

Prerequisite: N/A

Course Type: Core

Level: 2

Term: 1

 

Course Objectives                                                                                                                                       

The three main objectives of the Data Structure Lab Course are:

  • Hands-on Implementation: Enable students to gain practical experience in implementing various data structures and algorithms studied in theoretical courses, thereby reinforcing their understanding of fundamental concepts through practical application.

  • Algorithmic Analysis and Optimization: Develop students' ability to analyze the time and space complexities of different data structures and algorithms, fostering critical thinking skills and enabling them to optimize solutions for improved performance.

  • Problem-Solving Proficiency: Enhance students' problem-solving skills by challenging them to apply appropriate data structures and algorithms to solve diverse computational problems, preparing them to tackle real-world challenges in software development and beyond.

 

Course Content (from syllabus)                                                                                                             

Array – Traverse, Insert, Insert at any position, Delete at any position, Linear Search, Linear Search complexity, Binary Search, Searching- Bubble Sort, Stack – Stack data Insertion, Stack Deletion, Stack – Search, Prefix, Infix and Postfix Expressions, Queue – Queue data Insertion, Queue Deletion, Queue – Search, Double Ended Queue, Priority Queue, Static Linked List – List ADTs,  Linked List data Insertion, Linked List Deletion, Linked List – Search, Double Way Linked List – Double Way Linked List data Insertion, Double Way Linked List Deletion, Double Way Linked List – Search, Circular Way Linked List – Circular Way Linked List data Insertion, Circular Way Linked List Deletion, Circular Way ,Linked List , Binary Search Tree, Tree data Insertion, Tree Deletion, Tree Search, AVL Tree, Heaps, Heap Sort, Graph, Graph Terminologies, Adjacency matrix, Adjacency List, Graph data Insertion, Graph Deletion, Graph  Search.

 

Textbook/Recommended Readings                                                                                      

Data Structures: A Pseudocode Approach with C, 2nd Edition, by ichard F. Gilberg (Author), Behrouz A. Forouzan (Author).

 

Reference Books/ Other Supplementary Readings                                                      

 

  1. Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles" is a book written by Narasimha Karumanchi.

  2. Data Structures (SIE) Paperback – January 1, 2014

  3. https://www.geeksforgeeks.org/data-structures/

 

Course Code: SE 216


Total Marks: 100

ISCED: 0612-216

Course Title: Object-Oriented Programming

Semester: Spring 2024

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE121, SE122

Course Type: Core

Level: 2

Term: 1

 

Course Objective                                                                                                                               

To provide a solid conceptual understanding of the fundamentals of Object Oriented Programming, More specifically,

  • Understand key OOP concepts, including classes, objects, and advanced topics like Abstraction and Inheritance.

  • Learn effective code structuring with access specifiers, constructors, and advanced features like static members and object pointers.

  • Apply Singleton, Factory, and Observer patterns. Understand refactoring for code improvement.

  • Navigate the Software Engineering Life Cycle, focusing on modeling, internal components, and design principles.

  • Gain a concise understanding of UML diagrams and Use Case Modeling for streamlined software development.

 

Course Content                                                                                            .

Basic Concepts of Object-Oriented Programming, Classes and Objects, Characteristics of Objects, Relationships and Methods, Advantages of OOP over structured programming, Access specifiers, Static and non-static members, Constructors and Its types, Destructors, Array of objects, object pointers, and object references, Abstraction, Encapsulation, Inheritance, Polymorphism, Abstract classes and methods, Abstract methods, Abstract layer, Basic principles of Interfaces, Extending Interfaces, Multiple Interfaces, Interface Implementation, Definition of Refactoring, Different Types of Code Smells, Refactoring Techniques, Functions and Modules, Library like List, set, stack, queue, Tuple, Dictionary etc., Exception Handling, File Handling, Software Engineering Life Cycle, Modeling Problem and Solution, Moving to Code, Internal Component Definition, Design for Reuse, Design Class Diagrams, Iterating the Design, Refactoring, Design Best Practices, Cohesion, Complexity, Coupling, Congruence, Singleton pattern, Factory pattern, Observer pattern, Strategy pattern, Use Case Model, Use Case Diagram, Use Case Description, Main Success Scenario and Alternate Paths, Use Case Relationships (Generalization, <>, <>), Extension Points and Packages, Overview and Basic Concepts, Classifiers and Well-Formedness Rules, Basic Notation, Classes, Objects, Relationships, and Methods, UML Diagrams.

 

Textbook/Recommended Readings                                                                                          :

  1. From Problem Analysis to Program Design in Java by D.S. Malik (4th edition)

Reference Books/Other Supplementary Readings                                                                :

  1. Introduction to Java Programming by Y. Daniel Liang (8th Edition)

  2. Fundamentals of OOP and Data Structures by Richard Wiener & Lewis J. Pinson



Course Code: SE 217


Total Marks: 100

ISCED: 0612-217

Course Title: Object-Oriented Programming Lab

Semester: Spring 2024

Credit Value: 1 (Lab)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE121, SE122

Course Type: Core

Level: 2

Term: 1

 

Course  Objective                                                                                                                                                    

The goal of this course is to introduce the students to the concept of Object Oriented Programming. The main objectives of this course are to, 

  • This course will provide students with a comprehensive understanding of object-oriented programming concepts.

  • Students will learn how to use access specifiers to control the visibility of class members.

  • This course will teach students how to implement design patterns in their code.

  • Students will learn how to create and use libraries in their code.

  • This course will teach students how to apply refactoring techniques to their code.

 

Course Content                                                                                                                          .

Setting Up the Development Environment, Introduction to Classes and Objects, Implementing Access Specifiers, Working with Static and Non-Static Members, Constructor and Destructor Implementation, Handling Arrays of Objects and Object Pointers, Implementing Abstraction, Encapsulation in Action, Working with Inheritance, Exploring Polymorphism, Abstract Classes and Methods Implementation, Interface Implementation, Applying Refactoring Techniques, Creating and Using Libraries, Exception Handling in Practice, File Handling, Software Engineering Life Cycle, Transition from Design to Code, Design Class Diagrams, Refining Design Practices, Assessing Cohesion, Complexity, and Coupling, Implementing Design Patterns, Creating Use Case Diagrams, Use Case Descriptions and Relationships, UML Diagrams in Action.

 

Textbook/Recommended Readings                                                                                                             

  1.  From Problem Analysis to Program Design in Java by D.S. Malik (4th edition)

 

Reference Books/Other Supplementary Readings                                                                                        

  1. Introduction to Java Programming by Y. Daniel Liang (8th Edition)

  2. Fundamentals of OOP and Data Structures by Richard Wiener & Lewis J. Pinson

 

Course Code: SE 222


Total Marks: 100

ISCED: 0612-222

Course Title: Computer Architecture

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE 213

Course Type: Core

Level: 2

Term: 1

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of Computer architecture, More specifically,

  • Illustrate the organizations, architectures, structures and functions of modern digital computer systems.

  • Organize the basic knowledge required to understand the architectures and organizations of modern digital computer systems.

  • Conclude the hardware level arithmetic operation algorithms.

  • Interpret parallelism both in terms of a single processor and multiple processors.

  • Distinguish a wide variety of memory technologies both internal and external.

  • Determine the system and memory performance measurements under measurement metrics.

 

Course Content                                                                                                       

Instruction Set Architecture, Evolution of Computer, Processor performance (Moore’s law), Benchmarks (Ahmdahl’s law), clock speed and instruction per second, General Purpose Processor and its instruction patterns, Function of GPP, Hypothetical Processor, Instruction fetch and execute, Logical Units, Instruction Cycle States, Interrupt and Interrupt handling, Interconnection structure, Bus interconnection, Bus design (Address bus, control bus, data bus, multiple bus), Traditional bus architecture, high performance architecture, Elements of bus design, Method of arbitration, Timing, performance of memory, The memory hierarchy, Cache memory principles, Cache address, Mapping mechanism, Direct mapping, Full and Set associative cache, Replacement algorithms, Write policy, Line size, Number of cache, Interconnection structure, Data flow, Arithmetic logic unit (ALU), Number representation, Addition subtraction technique, Multiplication Technique (1 and 2’s complement), Floating point representations, Machine instructions characteristics, Elements of machine instruction, Instruction representation, Instruction type, Number of address, Instruction set design, Operand types, Operation types, Branch instructions, Skip instructions, Procedure call instructions, Addressing technique, CPU internal structure, Register Organization, User visible registers (flags), Condition codes, Control and Status registers, Data flow, Instruction pipelining, Pipeline performance, Pipeline hazards, Dealing with branches.

 

Textbook/Recommended Readings                                                                                            

“Computer organization and Architecture” by William Stallings, Seventh edition 2015

 

Reference Books/ Other Supplementary Readings                                                                      

  1. “The Essentials of computer organization and architecture” by Linda Null, Fifth Edition , 2010

 

Course Code: STA 101


Total Marks: 100

ISCED: 0613-101

Course Title: Statics I

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE 221

Course Type: Guided Elective

Level: 2

Term: 1

 

Course Objectives                                                                                                                                  The goal of this course is to introduce the students to modern operating system principles. The main objectives of this course are, 

  • To develop a solid foundation in statistical concepts.

  • To acquire proficiency in constructing frequency distributions for both qualitative and quantitative data.

  • To apply statistical methods to real-world problem-solving.

  • To develop proficiency in quantitative and mathematical problem-solving related to statistical concepts, reinforcing theoretical knowledge with practical applications.

 

Course Content                                                                                                      

Meaning and Definition of Statistics, Types of statistics, Population and sample, Parameter and statistic, Variable and types of variable; Characteristics Levels of data, Sampling techniques, Define data presentation, Constructing frequency distribution and relative frequency, percentage frequency and cumulative frequency distribution both for Qualitative and quantitative data;Graphic presentation of a quantitative frequency distribution (Histogram, Frequency polygon, Ogive curve) with their merits and demerits;Graphic presentation of a qualitative frequency distribution (Bar Chart, Pie Chart) with their merits and demerits, Time series data, Line diagram; Define Measures of Central Tendency, applications, Arithmetic Mean, Geometric Mean, Harmonic Mean, Weighted Mean for ungroup data and grouped data with their merits and demerits; Calculation of Median, mode both for group and ungroup data, Application of measures of central tendency for different types of level of measurements.(Definition of Measures of Location, concepts of Quartiles, Percentiles, and Deciles, Procedure of calculating quartiles, deciles, and percentiles for ungrouped data. Measures of Location (Procedures of calculating Quartiles, Percentiles, and Deciles for group data), mathematical problem solving with interpretations. Calculation of IQR with interpretation, Drawing Bow and Whisker Plot with its applications. Define measures of dispersion, applications, types of dispersion, Absolute measures, Relative Measures, and Calculation of Mean deviation. Calculation of Population variance, Population Standard Deviation, Sample variance, Sample Standard Deviation, and Coefficient of Variation for un group data with mathematical problem-solving. Calculation of Population variance, Population Standard Deviation, Sample variance, Sample Standard Deviation, and Coefficient of Variation for group data with mathematical problem-solving. Define the shape of the distribution, Concepts of Skewness and Kurtosis with graphical presentation. Calculation of Coefficient of skewness and coefficient of Kurtosis with their interpretations. Define correlation Analysis, Types of Correlation, positive correlation, negative correlation, simple correlation, partial correlation, multiple correlation, linear correlation, non-linear correlation, Scatter diagram with interpretation. Calculation of Coefficient of correlation with interpretation, mathematical problem-solving. Define Regression Analysis, Types of Regression, Simple regression analysis, Multiple regression analysis, Calculation of Simple regression coefficients. Interpretation of regression coefficients, Calculation of the standard error of the regression coefficients, and Calculation of coefficient of determination with interpretation. Define Probability, equally likely outcomes, mutually exclusive outcomes, Sample Space, Tree diagram, Venn diagram, Laws of probability, Additional rules. Marginal probability, Joint probability, Conditional probability, multiplication rules complement rule. Bayes theorem with related math. Random variable, Discrete Random variable, Continuous random variable, Mean and variance and standard deviation of random variables. Random variable, Discrete Random variable, Continuous random variable, Mean and variance and standard deviation of random variables. Define Probability distribution, Basic idea of Discrete Probability Distribution/ Probability Mass Function (PMF) and Continuous Probability Distribution/ Probability Density Function (PDF). Probability Distribution (Bernoulli distribution and Binomial Distribution with related maths, Geometric and Poisson Probability distribution with related math, Normal and exponential probability distribution with related math). Basic concepts of Test of hypothesis, Null hypothesis, Alternative hypothesis, Test Statistics, One-tailed test, Two-tailed test. Basic idea of One sample test and two sample test, Z-test, t-test, critical value, Acceptance area, rejection area, Decision rule. One sample Z-test and t-Test with related math and interpretation. Two sample Z-test and t-Test with related math and interpretation

 

Semester 4(2nd Year 2nd Semester)

 


 

 

Course Code: SE 214


Total Marks: 100

ISCED: 0613-214

Course Title: Algorithm Design & Analysis

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE131, SE132

Course Type: Core

Level: 2

Term: 2

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of algorithm, More specifically,

  • To apply knowledge of computing and mathematics to algorithm design.

  • To analyze a problem and identify the computing requirements appropriate for its solution. 

  • To design, implement, and evaluate an algorithm to meet desired needs.

  • To apply mathematical foundations, algorithmic principles, and computer science theory to the modeling and design of computer-based systems in a way that demonstrates comprehension of the trade-offs involved in design choices.

Course Content (from syllabus)                                                                                                             Basic strategies of algorithm design: top-down design, divide and conquer, average and worst-case criteria, asymptotic costs. Simple recurrence relations for asymptotic costs. Choice of appropriate data structures: arrays, lists, stacks, queues, trees, heaps, priority queues, graphs. Applications to sorting and searching, matrix algorithms, shortest-path and spanning tree problems. Introduction to discrete optimization algorithms: dynamic programming, greedy algorithms. Graph algorithms: depth-first and breadth-first search.

 

Textbook/Recommended Readings                                                                                            

Introduction to Algorithms, (3rd Edition, MIT Press, 2009) ISBN: 9780262033848. Authors: Thomas H. Cormen, Charles E. Leiserson, Ronald, L. Rivest, and Clifford Stein.

 

Reference Books/ Other Supplementary Readings                                                              

  1. Algorithms (4th Edition) Author: Robert Sedgewick and Kevin Wayne.

  2. Algorithm Design, Author: Jon Kleinberg, Eva Tardos.

  3. Data Structures And Algorithms by Seymour Lipschurtz



Course Code: SE 215


Total Marks: 100

ISCED: 0613-215

Course Title: Algorithm Design and Analysis Lab

Semester: Spring 2024

Credit: 1 (Lab)

Contact Hours: 1 hour 15 minutes (18 weeks)

Prerequisite: N/A

Course Type: Core

Level: 2

Term: 2

 

Course Objectives                                                                                                                                       By the end of the course through lectures, readings, home works, lab assignments, and exams, students will be taught:

  • To apply knowledge of computing and mathematics to algorithm design;

  • To analyze a problem and identify the computing requirements appropriate for its solution;

  • To design, implement, and evaluate an algorithm to meet desired needs;

  • To apply mathematical foundations, algorithmic principles, and computer science theory to the modeling and design of computer-based systems to demonstrate comprehension of the trade-offs involved in design choices.

 

Course Content (from syllabus)                                                                                                             

Big O Notation, Space and time complexity. Function and Recursion. Choice of appropriate data structures: Arrays, Lists, Stacks, Queues, Trees, Heaps, Priority Queues, Graphs. Sorting algorithms: Bubble Sort, Improved Bubble Sort, Selection Sort, Merge Sort, Quick Sort, Radix Sort. Search algorithms: Linear Search, Binary Search. Matrix Algorithms. Introduction to discrete optimization algorithms: dynamic programming techniques, Fractional Number, Knapsack, Longest Common Subsequence, Greedy algorithms: Coin Change Problem, Huffman Coding. Graph representations: Adjacency List, Adjacency Matrix. Graph algorithms: Depth First Search, Breadth First Search, Shortest Path, Minimum Spanning Tree, Floyd Warshall, Dijkstra Algorithm, Bellman-Ford, Kruskal’s Algorithm, Prim’s Algorithm.

 

Textbook/Recommended Readings                                                                                               

Introduction to Algorithms, (3rd Edition, MIT Press, 2009) ISBN: 9780262033848. Authors: Thomas H.

Cormen, Charles E. Leiserson, Ronald, L. Rivest, and Clifford Stein.

 

Reference Books/ Other Supplementary Readings                                                              

  1. Algorithms, 4th Edition. R. Sedgewick, and K. Wayne. Addison-Wesley, (2011)

  2. Algorithm Design. J. Kleinberg, and. Tardos. Addison Wesley, (2006)



Course Code: SE 235

CIE Marks: 60

ISCED: 0613-235

SEE Marks: 40

Course Title: Desktop & Web Programming

Total Marks: 100

Semester: Spring 2024

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 2

Term: 2

Section: 

 

Course Objective                                                                                                                                      To provide a solid conceptual understanding of the Desktop and Web Programming, More specifically,

  • To introduce fundamental principles of desktop and web-based application development.

  • To develop programming proficiency in languages for both desktop (Java, C#, Python) and web (JavaScript, PHP) environments.

  • To attain mastery in frontend development, covering HTML, CSS, responsive design, and JavaScript frameworks.

  • To gain competence in backend technologies, including server-side scripting, databases, and backend frameworks.

  • To apply knowledge through practical projects, creating desktop applications and deploying web solutions.

 

Course Content                                                                                               

The Desktop & Web Programming course offers a comprehensive exploration of software development, covering essential concepts and practical skills necessary for crafting applications across desktop and web platforms. Encompassing programming fundamentals, frontend and backend development techniques, application security, and project deployment strategies, this course equips students with a robust understanding of creating functional, user-centric, and secure software solutions in both desktop and web environments. Additionally, the course touches upon emerging trends, providing insights into the future landscape of software development.

 

Textbook/Recommended Readings                                                                                          :

  1. Data Structure

Reference Books/Other Supplementary Readings                                                                :

  1. Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles" is a book written by Narasimha Karumanchi.

  2. Data Structures (SIE) Paperback – January 1, 2014

  3. https://www.geeksforgeeks.org/data-structures/

 

Course Code: SE 236

CIE Marks: 60

ISCED: 0613-236

SEE Marks: 40

Course Title: Desktop & Web Programming Lab

Total Marks: 100

Semester: Spring 2024

Credit Value: 1 (Lab)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 2

Term: 2

Section: 

Course Content                                                                                                                     

Setting up the development environment for Java, Basic Java syntax, and programming concepts, Hands-on exercises on variables, data types, and operators, Control structures in Java (loops and conditionals), Object-Oriented Programming (OOP) principles in Java. Implementing classes, objects, inheritance, and polymorphism in Java, Creating a basic HTML5 webpage, Introduction to CSS3 and styling web content, Building basic web pages using HTML and CSS, Fundamentals of JavaScript language, Manipulating the Document Object Model (DOM). Basic JavaScript functions and events handling, Introduction to a frontend framework (React, Angular, or Vue.js), Hands-on development using the selected framework, Implementing state management and component-based architecture, Server-side scripting with Node.js, Python, or PHP, Integrating databases (SQL, NoSQL) in backend development, Creating RESTful APIs for web applications, Identifying and mitigating common security threats, Implementation of security measures (authentication, encryption), Hands-on exercises on secure coding practices and avoiding vulnerabilities, Introduction to desktop application frameworks (JavaFX, .NET), GUI design principles and local data management, Project management, version control, and collaborative development practices

 

Course Objective                                                                                                                                                    .  

 

The goal of this course is to introduce the students about the concept of Database

principles. The main objectives of this course are, 

1. To learn basic concepts of database

2. To learn database language

3. To learn various database tools

4. To implement SQL programming through a variety of database problems.

5. To Develop database applications using front-end tools and back-end DBMS.

 

Course Code: SE 223

CIE Marks: 60

ISCED: 0613-223

SEE Marks: 40

Course Title: Database System

Total Marks: 100

Semester: Spring 2024

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 2

Term: 2

Section: 

 

Course Objectives                                                                                                                             

 

The main objectives of this course are, to present an introduction to database management systems, with an emphasis on how to organize, maintain and retrieve - efficiently, and effectively - information from a DBMS. More specifically, 

  • To learn the basic concepts of databases.

  • To learn the relational model.

  • To learn database design.

  • To learn transactions of data in a database.

  • To learn the concepts and techniques for developing databases using database language.

  • To learn normalization concept to reduce anomalies in database

  • To learn the basic concept of a relational database.

 

Course Content                                                                                         

Databases and Database Users: Introduction - An Example, Characteristics of the Database Approach, Advantages of Using the DBMS Approach. Database System Concepts and Architecture: Data Models, Schemas and Instances. Three- Schema Architecture and Data Independence, Database Languages and Interfaces, The Database System Environment, Centralized and Client/Server Architectures for DBMSs. Entity-Relationship (ER) Model :Using High-Level Conceptual Data Models for Database Design, An Example Database Application, Entity Types, Entity Sets, Attributes, and Keys - Relationship Types, Relationship Sets, Roles, and Structural Constraints, Weak Entity Types, Refining the ER Design for the COMPANY Database - ER Diagrams, Naming Conventions, and Design Issues The Relational Algebra and Relational Calculus: Unary Relational Operations: SELECT and PROJECT, Relational Algebra Operations from Set Theory. SQL Data Definition and Data Types, Specifying Constraints in SQL, Schema Change Statements in SQL, Basic Queries in SQL INSERT, DELETE, and UPDATE Statements in SQL, Views (Virtual Tables) in SQL. Functional Dependencies and Normalization for Relational Databases: Informal Design Guidelines for Relation Schemas, Functional Dependencies, Normal Forms Based on Primary Keys - General Definitions of Second and Third Normal Forms, Boyce-Codd Normal Form. Introduction to Transaction Processing, Transaction and System Concepts, Desirable Properties of Transactions, Characterizing Schedules Based on Recoverability, Characterizing Schedules Based on Serializability, Concurrency Control Techniques: Two-Phase Locking Techniques for Concurrency Control.

 

Textbook/Recommended Readings                                                                                               

Abraham Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concepts, Sixth Edition, Tata McGraw-Hill 2006

 

Reference Books/ Other Supplementary Readings                                                                       

  1. Raghu Rama Kirshna, Johannes Gchrke, Database Management System, Third Edition, TATA MC Graw Hill, 2003

  2. C J Date, AKannan, S Swamynathan, An Introduction to Database Systems, Eight Edition, Pearson 2006

  3. P Raja Sekhar Reddy, A MallikarjunaReddy, Foundations of Database Management Systems, Lambert Academic Publishing, 2020 (e-Book)

  4. https://www.pdfdrive.com/fundamentals-of-database-systems-pdf-e51477130.html



Course Code: SE 224


Total Marks: 100

ISCED: 0613-224

Course Title: Database Systems Lab

Semester: Spring 2024

Credit: 1 (Lab)

Contact Hours: 1 hour 15 minutes (18 weeks)

Prerequisite: N/A

Course Type: Core

Level: 2

Term: 2

 

Course Objectives                                                                                                                                       

The goal of this course is to introduce the students to the concept of database principles in practice. The main objectives of this course are, 

  • To learn the implementation of the basic concept of a database.

  • To learn database language.

  • To learn various database tools.

  • To implement SQL programming through a variety of database problems.

  • To Develop database applications using front-end tools and back-end DBMS.

 

Course Content (from syllabus)                                                                                                             

The "Database Systems Lab" course provides students with a comprehensive exploration of fundamental introduction to DBMS, Purpose of DBMS, Relational Model, Data Abstraction, Database Architecture, Keys, ER Model, ER Model Scenario and ER Model, Relational Schema, ER Model to Schema Practice Example, Relational Algebra, Basic SQL Queries, Join Operation, More SQL Queries, Sub-queries in DBMS, Different Operation on Table, Stored Procedure and Views, Transaction, More about Transaction, Trigger, Normalization, Join Operation etc.

 

Textbook/Recommended Readings                                                                                               

Abraham Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concepts, Sixth Edition, Tata McGraw-Hill.

 

Reference Books/ Other Supplementary Readings                                                                      

 

  1. Raghu Rama Kirshna, Johannes Gchrke, Database Management System, Third Edition, TATA MC Graw Hill, 2003.

  2. C J Date, AKannan, S Swamynathan, An Introduction to Database Systems, Eighth Edition Pearson 2006

  3. P Raja Sekhar Reddy, A MallikarjunaReddy, Foundations of Database Management Systems, Lambert Academic Publishing, 2020 ( e-Book)

  4. https://www.pdfdrive.com/fundamentals-of-database-systems-pdf-e51477130.html



Course Code: SE 232


Total Marks: 100

ISCED: 0613-232

Course Title: Operating System and System Program

Semester: Spring 2024

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE222

Course Type: Core

Level: 2

Term: 2

 

Course Objectives To provide a solid conceptual understanding of the fundamentals of Software Engineering. More specifically,

  • To explore the processes and threads roles, states, components, scheduling, and concurrency of the modern operating system.

  • To demonstrate the process scheduler.

  • To explain and analyze the concurrency problem including synchronization, mutual exclusion, deadlock and starvation.

  • To explain and solve problems on memory management (primary and secondary) and virtual memory management systems and file management systems.

 

 Course Content

This course introduces modern operating systems. It focuses on UNIX-based operating systems, though alternative operating systems, including Windows, are introduced. This course begins with an overview of the structure of modern operating systems. Throughout the subsequent units, discuss the history of modern computers, analyze in detail each of the major components of an operating system (from processes to threads), and explore more advanced topics in the field, including concurrency (synchronization, mutual exclusion, deadlock, starvation), memory (both primary and secondary) management and input/output file management and organization (segmentation, paging, swapping), file systems, and operating system support for distributed systems. Different CPU scheduling algorithms and disk scheduling algorithms have also been discussed in detail.

 

Textbook/Recommended Readings

Operating Systems: Internals and Design Principles” William Stallings 9th Edition, Prentice Hall, 2015

 

Reference Books/ Other Supplementary Readings

1. Silberschatz, Galvin, Gagne: Operating System Concepts, 10th Edition, Wiley

2. Andrew S. Tanenbaum, Albert S. Woodhull: Operating Systems, Design and Implementation, 3rd Edition, Prentice Hall

 

Course Code: SE 233


Total Marks: 100

ISCED: 0613-233

Course Title: Operating System & System Programming Lab

Semester: Spring 2024

Credit: 1 (Lab)

Contact Hours: 1 hour 15 minutes (18 weeks)

Prerequisite: SE 233

Course Type: Lab

Level: 2

Term: 2

 

Course Objectives                                                                                                                                       

The goal of this course is to introduce the students to the concept of command based UNIX operating system in practical terms. The main objectives of this course are, 

  • To operate the UNIX command line to explore open-source software under GNU/Linux Operating System.

  • To write basic code on Shell Script and controlling processes and threads in Modern OS. Write code for handling process concurrency mechanisms such as Mutual Exclusion, Synchronization, Deadlock and Starvation using semaphore (GNU/Linux POSIX API).

  • To implement Algorithm implementation using shell scripting programming.

 

Course Content (from syllabus)                                                                                                          This course introduces the tools used to develop modern operating systems (OS). The focus of this course is UNIX-based operating systems, though alternative operating systems, including MS Windows are introduced. This course is divided into two parts. The first part is about the GNU/Linux command line interface to operate basic operations .The second parts are about the GNU/Linux application programming interface. In this part the creation and control of processes and threads are practiced. The cooperative process resource share management system and some advanced topics in the field of process scheduling, concurrency (synchronization, mutual exclusion, deadlock, and starvation), memory (both primary and secondary) management and input/output file organization are practiced.

 

Textbook/Recommended Readings                                                                                               

Richard Blum , Christine Bresnahan, Linux Command Line and Shell Scripting Bible, Wiley; 3rd edition (2015), ISBN-13: 978-1118983843

 

Reference Books/ Other Supplementary Readings                                                                      

  1. M. Tim Jones, GNU/Linux Application Programming, Charles River Media; 2nd edition (2008), ISBN-13: 978-1584505686

  2. Example Link: https://www.tutorialspoint.com/unix/unix-what-is- shell.html

  3. Online Tool: https://repl.it/languages/bash

 

Course Code: GE 235


Total Marks: 100

ISCED: 0613-235

Course Title: Principles of Accounting, Business and Economics

Semester: Spring 2024

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Guided Elective

Level: 2

Term: 2

 

Course Objectives                                                                                                                                      To provide a solid conceptual understanding of the fundamentals of artificial intelligence. More specifically,

  • To learn the basic concept of the accounting cycle, analysis, and recording of transactions.

  • To learn about reporting financial information in accordance with Generally Accepted Accounting Principles (GAAP)

  • To learn basic concepts of Business activities and different forms of Business.

  • To learn fundamental concepts of economics and the theory of demand & supply are also included in this course. Students will be exposed to real-life scenarios by analyzing the financial statements of different companies in Bangladesh.

 

Course Content                                                                                                        

Clear Concept of Accounting in action, Accounting Equation and effects of Transaction Analysis and preparing the Financial Statement, Recording Process (Journal, Ledger and Trial Balance), Adjusting the accounts, Completing the accounting cycle with the worksheet, case study, study on Financial report of a company, Foundation of Business, Barter Theory, Factors and Resources of Business, Proprietorship, Partnership, and Corporate Business, Basic concept of Economics, Micro and Macro Economics, Production Possibility Frontier, Factors of Production, Statements, Demand and Supply Curve with the schedule, Factor affecting on Demand and Supply, Law of Demand, Movement of the curve, Market Equilibrium.

 

Textbook/Recommended Readings                                                                                        

Accounting Principles by J.J.Weygandt, D.E.Kieso and Paul D. Kimmel, 13th Edition, 2018

 

Reference Books/ Other Supplementary Readings                                                                      

  1. Introduction to Business- How Companies Create Value for People by Gareth R. Jones, Latest Edition, Tata Mcgaw-Hill.

  2. Microeconomics 11th Edition, MICHAEL PARKIN.

 

Course Code: SE 532

CIE Marks: 60

ISCED: 0612-532

SEE Marks: 40

Course Title: Introduction to Robotics

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE 213

Course Type: Core

Level: 2

Term: 2

Section: 

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of Computer Architecture, More specifically,

  • To learn the basics of Robotics and Robots.

  • Demonstrate critical thinking and problem-solving using mechatronics.

  • Develop Robotics programming and programming using MCUs.

  • Design robotics solutions through complex programming and assembling of modules.

  • Apply special tools, techniques and simulations in Robotics.

 

Course Content                                                                                                          

This course includes definition of Robot, Types of Robots (manipulator, legged robot, wheeled robot, autonomous underwater vehicles), Use of Robots, Asimov’s laws of Robotics, History of Robotics, Key components of Robot, Sensors: Introduction, working principles and use of sensors (vision, force, LDR, temperature, smoke, accelerometer gyroscope, laser, tilt, compass, PIR, Infrared, etc.), Actuators and different actuators (DC motor, servo motor, stepper motor, etc.) working principles and usage, Robot programming with AD conversion and interfacing different hardware, sensors, etc, Control theory of robotics; Obstacle avoidance, object tracking, and motion control, etc; Advance Robotic control and operations.

 

Textbook/Recommended Readings                                                                                               

Introduction to Robotics: Mechanics and Control (3rd Edition) by John J. Craig

Reference Books/ Other Supplementary Readings                                                                        

 

  1. Modern Robotics. Mechanics, Planning and Control. Kevin M. Lynch and Frank C. Park. May 3, 2017

 

Semester 5 (3rd Year 1st Semester)

 


 

 

Course Code: SE 225


Total Marks: 100

ISCED: 0612-225

Course Title: Data Communication and Computer Networking

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 3

Term: 2

 

Course Objectives                                                                                                                                      

To provide a solid conceptual understanding of the fundamentals of data communications. More specifically,

  • To explore the concept of data communication, its requirements, effectiveness, data Representation, data Flow, data transmission, transmission impairments, performance measurement.

  • To understand the concept of topology, its Advantages & Disadvantages, topology’s working principles for Mesh, Star, Bus, Tree, Ring, Hybrid

  • To perceive the concept of digital transmission and line coding scheme works.

  • To gain the basic concepts of Network Layer, gain basic knowledge of IP address, Network mask, IP classes, solve problems on subletting (FLSM) for Classful addressing.

 

Course Content                                                                                                       

Overview of Data Communication, Components of Data communication, Data representations, Data flow, Physical Structures of data communication, Topologies: Star, Ring, Bus, Mesh, And Hybrid, Categories of Network- LAN, MAN, WAN, Internet Protocols and Standards, Data and Signals, Periodic Analog Signal, Digital Signal, Analog Data, Digital Data, Frequency, Bandwidth, Bit Rate, Transmission Impairments: Attenuation, Distortion, and Noise, Performance Measure: Throughput, Bandwidth, latency. Layered Task, Internet Model: Peer-to-Peer Process, Organization of the layer, Layers in the OSI Model. TCP/IP model, OSI Vs TCP/IP model. Physical Layer, Transmission Media, Guided media (Coaxial Cable, Twisted pair cable, Optical fiber). Unguided Media, Advantages and Disadvantages of various media, Framing, Fixed- Size Framing, Variable-Size Framing, Flow Control, Error Control Protocols, Types of Errors, Redundancy, Detection Versus Correction, Forward Error Correction Versus Retransmission.  Hamming Distance, Minimum Hamming Distance, Linear Block Codes, One dimensional parity check, Two Dimensional parity checks, Cyclic Redundancy Check, Checksum, Basic concepts of Network layer, IP Address, Decimal-Binary data conversion, IP Address Classes, Network mask, Classful Address, Classless Address (CIDR), Basics of FLSM, VLSM, Sub netting concepts, VLSM for Classful Addressing, FLSM for Classless Addressing, Routing Table, Routing Protocol, Autonomous System, RIP, Transport layer Process-To-Process, Delivery, Client/Server, SCTP, TCP, UDP, Application Layer Overview, HTTP, DNS.

 

Textbook/Recommended Readings                                                                                              

Data Structures: A Pseudocode Approach with C, 2nd Edition, by Richard F. Gilberg (Author), Behrouz A. Forouzan (Author)

 

Reference Books/ Other Supplementary Readings                                                                       

  1. Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles" is a book written by Narasimha Karumanchi.

  2. Data Structures (SIE) Paperback – January 1, 2014

  3. https://www.geeksforgeeks.org/data-structures/

 

Course Code: SE 226


Total Marks: 100

ISCED: 0612-226

Course Title: Data Communication and Computer Networking Lab

Semester: Spring 2024

 

Credit Value: 1 (Lab)

Contact Hours: 1 hour 15 minutes (18 weeks)

Prerequisite: SE225

Course Type: Core

Level: 3

Term: 2

 

Course Objective                                                                                                                             The goal of this course is to provide the students about the introductory concepts and technologies in networking. The main objectives of this course are,

  • To familiarize students with some of the standard networking tools, devices, software and operating systems used to build modern day network infrastructures.

  • To be able to explain, configure, verify and troubleshoot complex computer networks problem.

  • To configure network router and switches so that both LAN and WAN traffic successfully traverses the network.

 

Course Content

Overview of Networks and layered communications, understanding of Network equipment, wiring in details, CAT6 UTP EIA/TIA 568A/B straight and cross-over wiring, testing, Overview of IP Addressing and sub-netting, static IP setting on Linux machine (Ubuntu) / Windows and testing,  IP address and Packet Tracer, Creation of  a LAN and connectivity test in the LAN, creation of VLAN and VLAN trunking, Basic concepts of Router Configuration -Static Routing Implementation, Implementation of Dynamic Routing (RIP, OSPF, BGP), Router Configuration using CLI, Firewall Implementation, Router Access Control List (ACL), Packet capture and header analysis by Wireshark (TCP,UDP,IP), Basic Frame Relay Implementation with PVC, DNS, Web, DHCP, FTP server configuration.

 

Textbook/Recommended Readings                                                                                            

Data Structures: A Pseudocode Approach with C, 2nd Edition, by Richard F. Gilberg(Author),    Behrouz A. Forouzan (Author)

 

Course Code: SE 231


Total Marks: 100

ISCED: 0613-231

Course Title: System Analysis & Design Capstone Project

Semester: Spring 2024

 

Credit Value: 3 (Lab)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE212

Course Type: Core

Level: 3

Term: 2

 

Course Content                                                                                                      

The "System Analysis and Design" course provides students with a comprehensive exploration of fundamental concepts in system analysis and design, emphasizing practical applications. Beginning with foundational topics such as planning, proposal development, and feature listing, the course progresses to delve into use case design, UI principles, and prototyping. Students then navigate the intricacies of databases, including RDBMS, design principles, and normalization. Subsequent weeks involve visualizing system processes through Activity and Sequence Diagrams, with a focus on implementing the MVC architecture. The course culminates in a semester-long group project, where students apply their knowledge to analyze, design, and implement a system, fostering a hands-on understanding. 

 

Course Objectives                                                                                                                                       

This course aims to equip students with skills in project planning, user requirement elicitation and specification, graphical modeling of objects, data, and processes, and the design of UML diagrams, user interfaces, and relational databases. The primary objectives are as follows:

  • Application of software engineering knowledge in a practical project setting.

  • Designing software through the analysis of requirements.

  • Creating normalized databases on a large scale, meeting practical requirements.

 

Textbook/Recommended Readings                                                                                            

System Analysis and Design by Dennis, Wixom, and Roth

 

Reference Books/ Other Supplementary Readings                                                                      

  1. System Analysis and Design by Scott Tilley

 

Course Code: SE 234


Total Marks: 100

ISCED: 0613-234

Course Title: Theory of Computing

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 3

Term: 1

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of data Structure, More specifically,

  • To learn the basic concepts of Finite Automata.

  • To understand different types of finite automata and their design approaches. 

  • To learn regular expressions and its conversion to Regular Language and finite automata.

  • To learn context free grammar and its construction techniques.

  • To learn Turing machine and its basics

 

Course Content                                                                                                         

Basics of finite automata, Finite automata Identification and Computation, Deterministic Finite Automata (DFA), Non-deterministic finite automata (NFA), NFA to DFA conversion (subset construction method), Regular expressions (RE) Basics, RE to Regular language and Regular language to RE, RE to Finite Automata, DFA to RE, Context free grammar (CFG) Basics, CFG construction, Turing machine (TM).

 

Textbook/Recommended Readings                                                                                              

Introduction to the Theory of. Computation” by Michael Sipser, Third Edition. 

 

Reference Books/ Other Supplementary Readings                                                                       

  1. “Elements of the theory of computation” by Harry R. Lewis and. Christos H. Papadimitriou, 2nd edition.

 

Course Code: SE 311

CIE Marks: 60

ISCED: 0613-311

SEE Marks: 40

Course Title: Design Pattern

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE 221

Course Type: Core

Level: 3

Term: 2

Section: 



Course Objectives                                                                                                                                      

The goal of this course is to introduce the students to the concept of modern operating system principles. The main objectives of this course are, 

  • To Recognize the inherent and accidental complexities involved with developing object-oriented software.

  • To Understand how pattern-oriented software architecture techniques can and cannot help to alleviate this complexity.

  • To Apply key pattern-oriented software architecture techniques to develop reusable object-oriented software infrastructure and apps.

  • To Utilize Java programming language features and libraries to object-oriented software.

 

Course Content                                                                                                            

The four pillars of object-oriented programming – Abstraction, Encapsulation, Inheritance, Polymorphism. Abstract class and interface. Definition of Refactoring and Code Smells. Different types of code smells and refactoring techniques. Use of different refactoring techniques for different purposes. Introduction to Design Patterns. Definition and classification of design patterns. Definition, Use Case, Code examples of Creational Patterns – Singleton, Factory Method, Abstract Factory, Prototype, Builder. Definition, Use Case, Code examples of Creational Patterns – Adapter Pattern, Bridge Pattern, Composite Pattern, Decorator Pattern, Facade Pattern, Flyweight Pattern, Proxy Pattern. Definition, Use Case, Code examples of Creational Patterns – Chain of Responsibility Pattern, Command Pattern, Interpreter Pattern, Iterator Pattern, Mediator Pattern, Memento Pattern, Observer Pattern, State Pattern, Strategy Pattern, Template Pattern, Visitor Pattern. Design principles (SOLID)- Single Responsibility Principle, Open Close Principle, Liskov Substitution  Principle, Interface Segregation Principle, Dependency Inversion Principle.

 

Textbook/Recommended Readings                                                                                               

Design Pattern – Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. 

 

Reference Books/ Other Supplementary Readings                                                                       

  1. https://refactoring.guru/design-patterns

  2. https://www.tutorialspoint.com/design_pattern/design_pattern_overview.htm

\

 

Course Code: SE 312

CIE Marks: 60

ISCED: 0613-312

SEE Marks: 40

Course Title: Software Quality Assurance & Testing

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE 212, SE 221

Course Type: Core

Level: 3

Term: 1

Section: 





Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the Software Quality Assurance & Testing, more specifically,

  • To learn the basic concepts of Software Quality Assurance & Testing. 

  • To learn different lifecycle models and explain the role of testing in the entire life cycle of a software system. 

  • To learn many techniques of Black Box Testing and White box testing.

  • To learn about test management. 

  • To learn the concepts and techniques in error detection

 

Course Content                                                                                                      

Fundamentals of Testing, testing terminology, necessities of testing, Verification, validation, Testing Principles, The Psychology of Software Testing, Testing throughout Software Life Cycle, Software Development Model, V Model, Test Levels, Test Types, Black Box Testing, Basics on black box testing, types of black box testing, Boundary Value Analysis, Equivalence Partitioning, Decision Table based Testing, State Transition based Testing, Use Case Testing , Test Planning & Documentation, Analyze the product, Design the Test Strategy, Define the Test Objectives, Define Test Criteria, Resource Planning, Plan Test Environment, Schedule & Estimation, Determine Test Deliverables, Test Case design, Test report, White box testing, Basic Path Testing, Cyclomatic complexity, Statement coverage, Branch coverage, Condition Coverage, Path Coverage, Bug Life Cycle, Capability Maturity Model, Capability Maturity Model Integration, Quality Metrics, Mutation Testing, Decision mutations, Mutation Testing, value mutations, Statement mutations, Test tools, Types of Test Tools, Selection of test tools.

Textbook/Recommended Readings                                                                                      Naresh Chauhan, Software Testing: Principles and Practices. 2nd Edition, Oxford University Press. 2010

 

Reference Books/ Other Supplementary Readings                                                                      

  1. Glenford J. Myers, Corey Sandler, and Tom Badgett. The Art of Software Testing, 3rd Edition, John Wiley & Sons. 2012

  2. https://www.youtube.com/results?search_query=software+testing

 

Course Code: : SE 313


Total Marks: 100

ISCED: 0613-313

Course Title: Software Quality Assurance & Testing Lab

Semester: Spring 2024

Credit: 1 (Lab)

Contact Hours: 1 hour 15 minutes (18 weeks)

Prerequisite: N/A

Course Type: Core

Level: 3

Term: 1

 

Course Objectives                                                                                                                                       

The goal of this course is to introduce the students about the concept of software testing. The main objectives of this course are, 

  • To learn various testing techniques 

  • To develop skills to apply appropriate testing knowledge in problem-solving

Course Content                                                                                                          

Fundamentals of Testing, Test Levels, Test Types, Black Box Testing, Basics on black box testing, types of black box testing, Boundary Value Analysis, Equivalence Partitioning, Decision Table based Testing, State Transition based Testing, Use Case Testing , Test Planning & Documentation, Analyze the product, Design the Test Strategy, Define the Test Objectives, Define Test Criteria, Resource Planning, Plan Test Environment, Schedule & Estimation, Determine Test Deliverables, Test Case design, Test report, White box testing, Basic Path Testing, Cyclomatic complexity, Statement coverage, Branch coverage, Condition Coverage, Path Coverage, Bug Life Cycle, Capability Maturity Model, Capability Maturity Model Integration, QualityMetrics, Mutation Testing, Decision mutations, Mutation Testing, value mutations, Statement mutations, Test tools, Types of Test Tools, Selection of test tools.

 

Textbook/Recommended Readings                                                                                               

Naresh Chauhan, Software Testing: Principles and Practices. 2nd Edition, OxfordUniversity Press. 2010

 

Reference Books/ Other Supplementary Readings                                                                      

  1. Glenford J. Myers, Corey Sandler, and Tom Badgett. The Art of Software Testing, 3rd Edition, John Wiley & Sons. 2012



Course Code: GE 324


Total Marks: 100

ISCED: 0613-324

Course Title: Business Analysis & Communication

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: NA

Course Type: Core

Level: 3

Term: 1

 

Course Objectives                                                                                                                                      

To provide a solid conceptual understanding of the fundamentals of Business Analysis

and Communication More specifically,

  • To describe the basic concepts of Business Analysis and Communication

  • To apply the components of Business Analysis and Communication

  • To cretic Business Analysis and Communication components and case

  • To compose Business Analysis and Communication tools for use.

 

Course Content                                                                                                     

Introduction to Business Analysis (BA), BA Practices and uses, Business analysis Vs Business Analytics, DIKW model, Sources of data , Understanding problem and symptom, Business analysis techniques, Requirement, SMART Technique for writing Requirements, Requirement management, Requirement Implementation, Stakeholders, Managing Stakeholders, Communication & Business Communication, Written Communication, Non verbal communication, Office memos, face to face communication, types of report, Types of Letters, CV.

Textbook/Recommended Readings                                                                                             

Business Analysis 4th ed. Edition by Debra Paul

Communication for Business, Shirley Taylor,4th Edition

 

Reference Books/ Other Supplementary Readings                                                                       

  1. Lesikar’s Business Communication, 12th edition 

 

Semester 6 (33d Year 2nd Semester)

 


 

 

Course Code: SE 321


Total Marks: 100

ISCED: 0613-321

Co

urse Title: Software Engineering Web Application

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE 121, SE 122

Course Type: Core

Level: 3

Term: 2

 

Course Objectives                                                                                                                                       

To introduce different technologies that are used for building complex web applications for solving real world problems. The main objectives of this course are:

  • To understand the working principles of rendering a website from the internet.

  • To be able to design web applications using different frontend technologies based on the use requirements.

  • To grow expertise in creating interactive components in web pages for better user experience.

  • To learn techniques and technologies for developing dynamic web applications that meet the requirement specifications.

 

Course Content                                                                                                       

Software Engineering Web Application; History of Internet and Web; Protocols; Domain Name and URL; Attributes & Categories of Web Application; Anatomy of Web Page and URL; Overview of HTTP; Persistent and Non-Persistent HTTP; Response Time Modeling; HTTP GET & POST Request; HTTP Methods, Response Code; User-Server Interaction; Introduction to HTML; Basic structure of HTML; Tag and Attribute in HTML; Examples and usage of various HTML Elements; HTML Forms; Types of HTML Elements; Introduction to CSS; Adding CSS in HTML; Basic CSS Syntax; Common CSS Properties; Generic Containers - Div and Span; Advance Selectors; Colliding Styles and !important exceptions; CSS Box Model; CSS Layout; Box-Sizing Properties; Responsive Web Design; Rendering Mode: Flexbox, Position; CSS Variables, Web Fonts; Mobile Web; Getting started with Bootstrap; Basic Grid and Columns in Bootstrap; Using Common Components in Bootstrap; Introduction to JavaScript; Basic JavaScript Syntax; JavaScript DOM; Introduction to PHP; Basic PHP Syntax; Object Oriented PHP; Declaring Classes Properties and Methods in PHP; Inheritance, Abstract Class and Interface in PHP; Method Chaining in PHP; Database Connection and CRUD operations using PHP; Introduction to MVC Framework; CRUD operations using Laravel framework; Introduction to NoSQL Database; Using Firebase as a Database Server; Connecting and Operating with Firebase using Laravel.

 

Textbook/Recommended Readings                                                                                               

“Web Engineering: The Discipline of Systematic Development of Web Applications” by Gerti Kappel, Birgit Proll, Siegfried Reich, Werner Retschitzegger, 1st Edition, 2006

 

Reference Books/ Other Supplementary Readings                                                                       

  1. “Learning PHP, MySQL & JavaScript with jQuery, CSS & HTML5” by Robin Nixon, 5th edition, 2018.



Course Code: SE 322


Total Marks: 100

ISCED: 0613-322

Course Title: Software Engineering Web Application Lab

Semester: Spring 2024

 

Credit Value: 1 (Lab)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE 121, SE 122

Course Type: Core

Level: 3

Term: 2

Course objective:

The goal of this course is to provide the students hand-on experience with web tools and technologies. The main objectives of this course are,

  • To create aesthetic and responsive websites that meet modern web trends.

  • To produce interactive web components for improving user experience.

  • To build applications that can be updated in real-time.

  • To develop web applications that will be able to solve real-world problems and perform complex operations.

  • To grow skills for designing and developing successful web applications by maintaining software engineering steps for ensuring accomplishment of user’s requirements.

Course Content 

Introduction to Local Web Servers (XAMPP); Online Free Web Servers; Domain Name System; Setting up an environment for designing web pages; Google Developer Console for Inspecting Web Pages; Create a web page with Basic HTML Elements; HTML Audio, Video and YouTube; Develop an HTML Forms; Applying Different Text CSS Properties; Border Properties and converting link to button; CSS Font Properties; CSS Background Property; Creating a web layout using float, overflow and box-sizing properties; flexbox to create an responsive web layout; Create responsive navbar using flexbox & media queries; Creating a web section using Bootstrap Framework; Create a solution to block a user if he reloads a page more than 10 times within 1 minute; Creating Modal Elements using vanilla JavaScript; Build a Digital Clock using Vanilla JavaScript; JavaScript form validation for client-side validation; Review Front-end Design using HTML, CSS and JavaScript; Problem Solving using PHP, Session and Cookies; Handling Submitted Form using PHP with proper validation and file upload mechanism; Practice Object Oriented PHP on reallife scenarios; Create Registration System using PHP Form and Database CRUD Operation; Developing Model Class for Database CRUD Operation using PHP; Introduction to ORM in Laravel; Authentication and Authorization in Laravel; User management using Firebase and Laravel;

 

Textbook/Recommended Readings:

  1. “Web Engineering: The Discipline of Systematic Development of Web Applications” by Gerti Kappel, Birgit Proll, Siegfried Reich, Werner Retschitzegger, 1st Edition, 2006 .

 

Reference Books/Supplementary Readings:

  1. “Learning PHP, MySQL & JavaScript with jQuery, CSS & HTML5” by Robin Nixon, 5th edition, 2018.

 

Course Code: SE 323


Total Marks: 100

ISCED: 0613-323

Course Title: Software Architecture & Design

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE 212, SE 221, SE223, SE311

Course Type: Core

Level: 3

Term: 2

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of data communications. More specifically, to learn

  • To learn the basic concepts of software architecture..

  • To learn different architecture models and explain their importance.

  • To learn many approaches to gathering requirements from users and designing with proper documents.

  • To learn how to design an architecture for a software.

  • To learn the quality attributes and tradeoff analysis of a software architecture.

 

Course Content                                                                                                           

Software Architecture Introduction, Architecture Overview and Process, Architectural Structures and Views, The 4+1 View Model of Architecture, Layered Architecture, Broker Architecture, Monolithic Architecture, Microservices Architecture, Architecture Evaluation, S.O.L.I.D. Principles, Architecture Trade-off Analysis Method (ATAM) Understanding Quality Attributes, Availability, Performance, Usability, Modifiability.

 

Textbook/Recommended Readings                                                                                             

“Software Architecture in Practice Third Edition” by Len Bass, Paul Clements, Rick Kazman, Addison-Wesley

 

Reference Books/ Other Supplementary Readings                                                                      

  1. Sommerville, Ian. Software engineering. Addison-Wesley/Pearson, 2011.

  2. Software Architecture: Foundations, theory and practice. 1st Edition. Richard   N. Taylor,



Course Code: SE 332


Total Marks: 100

ISCED: 0613-332

Course Title: Information System Security

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: NA

Course Type: Core

Level: 3

Term: 2



Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of data communications. More specifically,

  • Demonstrate the basic security concept in information systems and explain the measures of securing the software development life cycle.

  • Illustrate the 10 common vulnerabilities in web applications due to bad design and understand how such weaknesses can be mitigated using current best practices.

  • Demonstrate the classifications of malware and explain the countermeasures to hinder them.

  • Apply the principles of classic and modern cryptography and use it to secure the system.

  • Analyze the key management, message authentication and hash function.

  • Construct the digital signature and authentication protocol.

 

Course Content                                                                                                         

 Information security concept, secured software development life cycle (secSDLC), secured web application design solution, threats and defense mechanisms on current web application, the classifications of malware and its prevention. Classic Cryptographic algorithm that includes Caesar Cipher, One Time Pad, Transposition, Playfair, and hill cipher. Feistel Network, Data Encryption Standard, Advanced Encryption Standard, Public Key CryptoSystem, RSA, Key management- Diffie-Hellman, Elliptic Curve, etc..Digital Signature, authentication protocol.

 

Textbook/Recommended Readings                                                                                                

“Cryptography & Network Security” by William Stallings, Prentice Hall, 2005.

 

Reference Books/ Other Supplementary Readings                                                                       

 

  1. Cryptography” by Buchanan, W., CRC Press, 2022.

 

Course Code: SE 411


Total Marks: 100

ISCED: 0613-411

Course Title: Software Project Management & Documentation

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE312

Course Type: Core

Level: 3

Term: 2

 

Course Objectives                                                                                                                                       

The goal of this Project Management and Documentation course is to provide the concept of modern information systems for different levels of management in business organizations. The main objectives of this course are,

  • To make students understand the requirements and the contents of project management.

  • To make students understand the role of the manager in each phase of the software development life cycle.

  • To make students capable of writing a plan for a project according to an established standard.

  • To make students capable of using current Software Project Management (SPM) tools and develop new SPM ideas.

  • To grow capability among students to work in a team environment and be aware of different modes of communications.

 

Course Content                                                                                                        

Introduction to Software Project Management, understanding of the profession of project manager. Project Scope, Schedule and Budget Management. Quality issues in project, Resources, Risk and Communication Management, Network Diagram, Gantt Chart, Project Budget, PERT analysis, Quality tools-Six Sigma, Quality Plan & Quality documents, Procurement management Process. DevOps, Documentation Management Process, Documentation Communication, Risk Identification, Risk Communication, Finally project Communication, Stakeholder and integration of a project.

 

Textbook/Recommended Readings                                                                                               

Kathy Schwalbe, Information Technology Project Management, Cengage Learning, Inc. 2016

 

Reference Books/ Other Supplementary Readings                                                                      

  1. Scott Berkun, Making Things Happen: Mastering Project Management, 2020

  2. Peter Taylor, The Lazy Project Manager: How to be twice as productive and still leave the office early, 2010

  3. You Tube: https://www.youtube.com/watch?v=uWPIsaYpY7U

  4. Website slide link: https://www.udemy.com/course/earned-value-management-technique-with-examples/



Course Code: SE 333


Total Marks: 100

ISCED: 0613-333

Course Title: Artificial intelligence

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: SE 214, SE 234

Course Type: Core

Level: 3

Term: 2

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of artificial intelligence. More specifically,

  • Understand the foundational principles of Artificial Intelligence (AI) and its components.

  • Explore search algorithms, both informed and uninformed, and gain proficiency in adversarial search techniques.

  • Master logical sentence formation, compound statements, and inference algorithms, including resolution and Bayesian networks.

  • Acquire knowledge in optimization algorithms, machine learning, and neural networks, with a focus on practical applications.

  • Develop expertise in natural language processing, covering syntax, semantics, and text categorization, while evaluating the performance and addressing limitations of NLP projects.

 

Course Content                                                                                                        

Introduction to AI, Components of AI, Agents, Environments, and Fundamental Challenges of AI, Limitation of Electronic Systems, The Concept of Human Complex, Human Perception to Logical Sentence Conversion, Terminologies related to AI, and Forming the based idea of Search Algorithms, Working Principle for Informed Search Algorithms: BFS, and DFS. Working Principle of Uninformed Search Algorithms: GBFs, A* Search. Introduction to Adversarial Search Algorithm & Designing Simple AI Game Logic, Forming Logical Sentences, Compound Statements using Logical Connectives,  and Statement Modeling. Inference Algorithm, and Knowledge Engineering. Inference through Resolution, Bayesian Networks. Approximate Inference. Markov Assumption, Markov Chain, Markov Hidden Models, and Sensor Model. Concept of Optimization, and Formation of the State Space Landscape, AI Optimization Algorithm Design. Different Existing Optimization Algorithms, and Their Applications.Mathematical Background of Machine Learning. Learning Algorithm Formation, and Optimization. Single Layer Neural Network, Deep Neural Network, Activation Functions, Backpropagation Algorithm, Handling Overfitting, and Underfitting, Different Optimization Algorithms. Convolutional Neural Networks. Syntax & Semantics, Formal Grammar to Context Free Grammar, Tokenization, Markov Model. Text Categorization, Naïve Bayes, Smoothing (Additive, Laplace), Topic Modeling. Word Vector Formation, Training Neural Network for NLP, Evaluating the Performance of the Trained Model, Exploring the Limitations of the NLP Project.

 

Textbook/Recommended Readings                                                                                               

Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig.

 

Reference Books/ Other Supplementary Readings                                                                     

  1. Developing Intelligent Agent Systems: A Practical Guide by Lin Padgham, Michael Winikoff,

  2. Intelligent Agent Technology by Ahmed Elmahalawy.

  3. Harvard CS50: Artificial Intelligence with Python

 

Course Code: SE 334

CIE Marks: 60

ISCED: 0613-334

LF Marks: 40

Course Title: Artificial Intelligence Lab

Total Marks: 100

Semester: Spring 2024

Credit: 1 (Lab)

Contact Hours: 1 hour 15 minutes (18 weeks)

Prerequisite: N/A

Course Type: Core

Level: 3

Term: 2

Section: A

 

Course Objectives                                                                                                                                       

The goal of this course is to guide the students to develop the skill sets necessary to implement AI algorithms. The main objectives of this course are:

  • Be able to apply the concept of basic object-oriented programming using Python.

  • Developing the skillset to think algorithmically and plan solutions using AI algorithms.

  • Gaining the capability of implementing AI algorithms using python.

  • Understanding the application domain of AI to solve real-world problems.

  • Be able to design, implement and present AI-based solutions.

 

Course Content                                                                                                          

The "Artificial Intelligence Lab" course provides students with a comprehensive exploration of Basic Python Programming, Implementation of Search Algorithms, Knowledge Representation using Propositional Statements, Dealing with Uncertainty, Optimization Algorithms Implementation, Machine Learning Coding, Implementation of Neural Network, and Natural Language Processing.

 

Textbook/Recommended Readings                                                                                           

Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig

 

Reference Books/ Other Supplementary Readings                                                                      

  1. Human Compatible: Artificial Intelligence and the Problem of Control by Stuart J. Russell

  2. https://cs50.harvard.edu/ai/2024/





Course Code: SE 544


Total Marks: 100

ISCED: 0613-544

Course Title: Introduction to Machine Learning

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: MAT 101, MAT 102, STA 101, SE 121

Course Type: Core

Level: 3

Term: 2

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of Machine Learning. More specifically,

  • To be taught about the basic concepts of machine learning techniques such as its types, fundamental challenges, and applications.

  • To be taught about the theories of supervised and unsupervised machine learning algorithms so that they can apply them in real world scenarios.

  • To evaluate and interpret machine learning models properly to the stakeholders.

  • To discover any potential biases, misinterpretations, and ethical or fairness concerns of machine learning models.

 

Course Content                                                                                                         

Definitions, Types, K-Nearest Neighbor, Euclidean Distance, Manhattan Distance, Differentiation, Partial Differentiation, Gradient Descent, Hypothesis Function, Loss Function, Learning Rate, Learning Rate Scheduling, Early Stopping, Stochastic Gradient Descent, Batch Gradient Descent, Mini-Batch Gradient Descent, Simple Linear Regression, Multiple Linear Regression, Logistic Regression, Binary Log-Loss Function, Polynomial Regression, Overfitting And Underfitting, Bias-Variance Trade Offs, Regularization Methods, Ridge Regression, Lasso Regression, Elastic Net, Ensemble Learning: Voting, Bagging, Pasting, Random Patches, Random Subspaces, Random Forest, Boosting, and Stacking, Model Selection: Hyperparameter Tuning, Grid Search, Random Search and Cross-Validation, Model Evaluation: Bootstrapping, Mean Absolute Error, Mean Square Error, Root Mean Square Error, Confusion Matrix, Type I Error, Type II Error, Accuracy, Precision, Recall, Sensitivity, Specificity, True Positive Rate, False Positive Rate, AUC-ROC, Precision-Recall Curve, Feature Engineering: Normalization, Standardization, and Augmentation, K-Means Clustering, Agglomerative Clustering, Single Linkage, Complete Linkage, Average Linkage, DBSCAN, Dimensionality Reduction: PCA and t-SNE.

 

Textbook/Recommended Readings                                                                                                

 “Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow”  by Aurélien Géron, 2nd Edition, 2019

 

Reference Books/ Other Supplementary Readings                                                                      

  1. “Deep Learning” by Ian Goodfellow, and Yoshua Bengio, and Aaron Courville, Final Edition, 2016. 

 

Semester 7 (4th Year 1st Semester)

 


 

 

Course Code: DS 331


Total Marks: 100

ISCED: 0613-331

Course Title: Introduction to Data Science and Data Management & Analysis

Semester: Spring 2024

 

Credit Value: 2 (Theory)

Contact Hours: 2 (Total weeks: 18)

Prerequisite: SE 121, STAT 101

Course Type: Major

Level: 4

Term: 1

 

Course Objectives                                                                                                                                       

The goal of this course is to introduce the students about the concept of Data Science. The main objectives of this course are-

  • To Learn the introduction of data science.

  • To Learn and understand the data engineering tools.

  • To learn and demonstrate data visualization and algorithm.

  • To learn and apply data science methodology and understand the ETL.

 

Course Content (from syllabus)                                                                                                             Intro To Data Science, Learn about data science engineer and data analyst, Learn the difference among data science engineer and data analyst, Old problems, new problems, Data Science solutions, Applications of Data Science, Data Science Real life problems and solutions, Applications of Machine Learning, Introduction Languages of Data Science. Introduction to Python, Python Libraries for Data Science, Introduction to Jupyter Notebook, Open-Source Tools for Data Science, Introduction to R and RStudio, Commercial Tools for Data Science, Data Sets - Powering Data Science, Analytic Approach, Data hb Requirements, Data Collection, Data Understanding, Data Preparation - Concepts, Introduction to Data Visualization, Data Visualization Tools, Data Ethics, Basic Statistics, Data Modeling- Case Study, Database and SQL for data science, ETL Process and architecture, Time series Forecasting, Business Understanding and Deployment.

 

Textbook/Recommended Readings                                                                                               

A Hands-On Introduction to Data Science [ Book by Chirag Shah]

 

Reference Books/ Other Supplementary Readings                                                                      

  1. Introduction to Machine Learning with Python: A Guide for Data Scientists [Book by Andreas C. Müller and Sarah Guido]

  2.    https://www.youtube.com/watch?v=N6BghzuFLIg



Course Code: SE 444

CIE Marks: 60

ISCED: 0613-444

SEE Marks: 40

Course Title: Data Warehouse and Data Mining

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 4

Term: 2

Section: 

Course Objectives

The goal of this course is to introduce the students about the concept of Data warehouse and Data Mining principles. The main objectives of this course are:

  • Students will be taught about the necessity and the appropriate scenarios where warehouse and data mining are relevant and beneficial.

  • Students will be taught about different components and architectures of data warehouse.

  • Students will be taught to apply different data mining algorithms.

  • Students will be taught to evaluate and interpret the results of data mining algorithms.

 

Course Content 

Transactional Processing Vs. Decision Support Systems, Data Warehousing Fundamentals, Characteristics of Data Warehouse, Data Warehouse Architectures, Maturity Models, Potential Applications, OLTP, OLAP, Data Cubes, Fact Tables, Dimensions, Relational Models, Integrity Rules, Entity Relationship Diagrams, Modification Anomalies, Database Normalizations, Star Schema, Snowflake Schema, Constellation Schema, Time Representation, Types of Change, ETL, Naïve Bayes, Train-Test-Validation Set, Cross-Validation, Bootstrapping, Mean Square Error, Mean Absolute Error, Root Mean Square Error, Confusion Matrix, Accuracy, Precision, Recall, F1 Score, Association Rule Mining, Apriori Algorithm, Linear Regression, Logistic Regression, Decision Tree, K-Means Clustering, Agglomerative Clustering, Graph Theory, Graph Clustering.. Community Detection, Girvan Algorithm, Louvain Algorithm.

Textbook/Recommended Readings

  1. Database Design, Application Development, and Administration, by Michael Mannino, Sixth Edition, Chicago Business Press, 2015.

 

Reference Books/ Other Supplementary Readings

  1. Data Mining: Practical Machine Learning Tools and Techniques by Mark A. Hall, Ian H. Witten, Eibe Frank, Christopher Pal, Third Edition, Morgan Kaufmann. 2011.



Course Code: SE 447


Total Marks: 100

ISCED: 0613-447

Course Title: Human Computer Interaction

Semester: Spring 2024

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 4

Term: 1

 

Course Objectives                                                                                                                                    

The goal of this course is to introduce the students about human-computer interaction and the design and evaluation of user interfaces. The main objectives of this course:

  • To apply an interactive design process and universal design principles to designing HCI systems.

  • To describe and use HCI design principles, standards and guidelines.

  • To analyze and identify user models, user support, socio-organizational issues, and stakeholder requirements of HCI systems.

  • To illustrate typical human–computer interaction (HCI) models and styles, as well as various historic HCI paradigms

  • To analyze and discuss HCI issues in groupware, ubiquitous computing, virtual reality, multimedia, and Word Wide Web-related environments.

 

Course Content                                                                                                           

Foundations of Human Computer Interaction (Human Capabilities, Computer usability   Interaction Paradigms), The Design Process (Interaction Design Basics, HCI in the Software Process, Design Rules, Universal Design), Implementation Support (Implementation Tools), Device Evaluation and User Support (Evaluation ,User Support), User-Centered Design (Participant Observation and User Personas, Low-Fidelity Prototyping, Usability Testing Computer Prototyping), Users Models (Cognitive Models, Socio-organizational Issues and Stakeholder Requirements), Task Models and Dialogs (Analyzing Tasks, Dialog Notations and Design), Groupware, Ubiquitous Computing, Virtual and Augmented Reality, Hypertext and Multimedia (Groupware and Computer-supported Collaborative Work, Ubiquitous Computing, Virtual Reality and Augmented Reality, Hypertext, Multimedia and the World Wide Web), Challenges and technologies (Perception and Visualization, Design and evaluation challenges), Interactions (Wearable and Mobile Interaction, UbiComp, Haptics), Physiological & Social Computing (Tangible and Gestural interfaces, Physiological Computing, Social Computing, Digital addiction), Behavioral  Computing (Human persistency and actuator compliance).

Textbook/Recommended Readings                                                                                  

“Human Computer Interaction”, by Dick, Finley, Aboad, Beale, Fourth Edition, 2004. 

 

Reference Books/ Other Supplementary Readings                                                                     “Human computer Interaction”, by. I. Scott Mackenzie, Fifth edition, 2012.

 

Course Code: RE331


Total Marks: 100

ISCED: 0714/331

Course Title: Embedded Programming

Semester: Spring 24

Credits: 2(Theory)

Contact Hours: 2.5 (Total weeks: 12)

Prerequisite: RE 331, RE 332

Course Type: Major

Level: 4

Term: 2

 

Course Objectives                                                                                                                            The objective of this course is to provide a solid conceptual understanding of the fundamentals of embedded programming. More specifically,

  • To Introduce students to the fundamentals of embedded programming

  • To familiarize students with low-level programming techniques for microcontrollers

  • To provide an understanding of real-time operating systems and their application in embedded systems

  • To develop skills in device driver development and hardware interfacing

  • To equip students with debugging and testing strategies for embedded systems

  • To explore power optimization techniques in embedded programming

  • To introduce various communication protocols used in embedded systems

  • To create awareness of security considerations in embedded programming

  • To enhance practical skills through a project development component

Course Content                                                                                                                                       

Introduction to Embedded Programming, Low-Level Programming for Embedded Systems, Real-Time Operating Systems (RTOS), Device Drivers and Hardware Interfacing, Debugging and Testing Techniques for Embedded Systems, Power Optimization Techniques in Embedded Programming, Communication Protocols for Embedded Systems, Embedded System Security, ROS, Important ROS Concepts, ROS Commands, Middleware and Simulation, Advanced ROS Concepts, Project Development, Compilers for Embedded systems, Dynamic voltage scaling, Dynamic power management, Interrupts, timers, and advanced features in microcontroller programming, Advanced motor control techniques, Overview of robotics middleware (e.g., Robot Middleware (RTM), DDS), Understanding control systems in robotics PID controllers and their applications, Trajectory planning and motion control, Hands-on projects on robot control systems, Sensors and actuators for robotics applications, Circuit design and analysis, prototyping circuits on breadboards and PCB’s, Overview of Arduino platform, Arduino IDE and basic programming, GPIO programming with Arduino.

 

Course Code: RE 332


Total Marks: 100

ISCED: 0613-332

Course Title: Embedded Programming Lab

Semester: Spring 2024

Credit Value: 1

Contact Hours: 1.15 (Total 18 weeks)

Prerequisite: SE 213, SE 121, SE 532

Course Type: Major

Level: 4

Term: 1

 

Course Objectives                                                                                                                                      The Objective of this Course is to provide a solid conceptual understanding of the fundamentals of embedded programming. More specifically,

  • To Introduce students to the fundamentals of embedded programming

  • To familiarize students with low-level programming techniques for microcontrollers

  • To provide an understanding of real-time operating systems and their application in embedded systems

  • To develop skills in device driver development and hardware interfacing

  • To equip students with debugging and testing strategies for embedded systems

  • To explore power optimization techniques in embedded programming

  • To Introduce various communication protocols used in embedded systems

  • To create awareness of security considerations in embedded programming

  • To enhance practical skills through a project development component

Course Content 

Introduction to Arduino and ESP Microcontrollers, Programming with Arduino and ESP,  Real-time Operating Systems (RTOS) Implementation, Hardware Description Languages (HDLs) and FPGA Programming, IoT Concepts and Applications with Arduino and ESP, Wireless Communication Protocols in Embedded Systems, Building a Wireless Sensor Network, ROS Introduction, ROS Setup, ROS setup and run, Integrating Arduino and ESP with ROS, Project Development.



Course Code: RE411

CIE Marks: 60

ISCED: 0714/411

SEE Marks: 40

Course Title: Embedded System Design and Development

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 2 (Theory)

Contact Hours: 2.5 (Total weeks: 12)

Prerequisite: RE331, RE332

Course Type: Major

Level: 4

Term: 1

Section: 

 

Course Objectives 

The Objective of the fundamentals of embedded programming is To provide a solid conceptual understanding. More specifically,

  • To Introduce students to the fundamentals of embedded programming

  • To familiarize students with low-level programming techniques for microcontrollers

  • To provide an understanding of real-time operating systems and their application in embedded systems

  • To develop skills in device driver development and hardware interfacing

  • To equip students with debugging and testing strategies for embedded systems

  • To explore power optimization techniques in embedded programming

  • To Introduce various communication protocols used in embedded systems

  • To create awareness of security considerations in embedded programming

  • To enhance practical skills through a project development component

Course Content

Overview of Embedded Systems, Importance of Embedded Systems in various applications, Overview of robotics applications and industries, Introduction to Microcontrollers and Microprocessors, types, Understanding electronic components used in robotics, Sensors and actuators for robotics applications, Circuit design and analysis, prototyping circuits on breadboards and PCB’s, Overview of Arduino platform, Arduino IDE and basic programming, GPIO programming with Arduino, Sensor interfacing with Arduino and ESP boards, analog electronics, digital electronics, tri-state outputs and logic gates, VLSI and Integrated circuit design, Electronic design Automation tools, Embedded Firmware, Understanding the kinematics of robotic systems, Task level concurrency management, High level optimizations (Loop tiling/blocking, loop splitting, Array folding), Compilers for Embedded systems, Dynamic voltage scaling, Dynamic power management, Interrupts, timers, and advanced features in microcontroller programming, Advanced motor control techniques, Overview of robotics middleware (e.g., Robot Middleware (RTM), DDS), Understanding control systems in robotics PID controllers and their applications, Trajectory planning and motion control, Hands-on projects on robot control systems. 

Textbook/Recommended Readings

  1. A textbook on Embedded System Design for engineering students by Dr. Jaikaran Singh, Dr. Raghavendra S. 

Reference Books/ Other Supplementary Readings 

  1. Embedded System Design by Peter Marwedel

 

Course Code: RE412

CIE Marks: 60

ISCED: 0613-412

SEE Marks: 40

Course Title: Embedded System Design and Development Lab 

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 1

Contact Hours: 1.15 (Total 18 weeks)

Prerequisite: RE 331, RE332

Course Type: Major

Level: 4

Term: 1

Section: 

 

Course Objectives                                                                                                                                      The objective of this course is to provide a solid conceptual understanding of the fundamentals of embedded programming. More specifically,

  • To Introduce students to the fundamentals of embedded programming

  • To familiarize students with low-level programming techniques for microcontrollers

  • To provide an understanding of real-time operating systems and their application in embedded systems

  • Develop skills in device driver development and hardware interfacing

  • Equip students with debugging and testing strategies for embedded systems

  • Explore power optimization techniques in embedded programming

  • Introduce various communication protocols used in embedded systems

  • Create awareness of security considerations in embedded programming

  • Enhance practical skills through a project development component

Course Content 

Microcontroller Architecture and I/O Interfacing, Advanced Programming with Arduino and ESP, Embedded Programming Techniques, Actuator Control and Closed-Loop Systems, Implementing Navigation in ROS Projects, Advanced ROS Features and Applications, Security Measures in Embedded Systems, Optimizing Code for Performance, Project-Based Experiments and Project Development.

Textbook/Recommended Readings                                                                                             

  1. A textbook on Embedded System Design for engineering students by Dr. Jaikaran Singh, Dr. Raghavendra S. 

 

Reference Books/ Other Supplementary Readings                                                                      

Embedded System Design by Peter Marwedel

Other resources 

  1. Arduino – Home - https://www.arduino.cc/

  2. ROS Wiki – https://wiki.ros.org/Documentation

  3. Gazebo Tutorials - https://classic.gazebosim.org/tutorials

 

Course Code: RE 421

CIE Marks: 60

ISCED: 0714-421

SEE Marks: 40

Course Title: Robotic Process Automation Design & Development

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 2 (Theory)

Contact Hours: 2.5  (Total weeks: 12)

Prerequisite: SE 213, SE 532, RE331, RE332, RE 411, RE 412

Course Type: Major

Level: 4

Term: 2

Section: 

Course Objectives                                                                                                                                                                  

  • To prepare students to be Junior RPA Developers.

  • To learn the basic concepts of Robotic Process Automation.

  • To develop familiarity and deep understanding of UiPath tools.

  • To develop the ability to independently design and create robots for business processes.

  • To develop skills required to pass the UiPath RPA Associate v1.0 Exam successfully.

 

Course Content 

This course includes history of Automation; Story of Work; Introduction to RPA; RPA vs Automation; RPA and AI; RPA and emerging ecosystem; Industries best suited for RPA; Processes that can be automated, UiPath and its Products; Robots and their Types; Studio Overview; Orchestrator; UiPath Studio Installation & Updating; The User Interface; Features of Studio; Building ’Hello World’ Robot, Variables and their Types; Variables Panel; Scope of Variable; Arguments; Arguments Panel; Argument Directions; Arguments vs. Variables, UI interactions; Input Actions and Input Methods; Containers; Recording and its types; Selectors and their types; Anchors; Debugging Selectors, Sequences; Control Flow and Its Types; Decision Control; Loops; Other Control Flow Activities; Flowcharts; Error Handling, Data Manipulation and Its importance; String Manipulations ; Data Table Manipulations; Collection, Types and Manipulations, Extraction and Its Techniques; Automation Techniques; Orchestrator Overview; Publishing a Robot to Orchestrator; Orchestrator Functionalities.




Textbook/Recommended Readings                                                                                                 

Learning Robotic Process Automation-Alok Mani Tripathi

 

Reference Books/ Other Supplementary Readings                                                                     https://academy.uipath.com/



Course Code: RE 422

CIE Marks: 60

ISCED: 0714-422

SEE Marks: 40

Course Title: Robotic Process Automation Design & Development Lab

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 1

Contact Hours: 1.15 (Total 18 weeks)

Prerequisite: SE 213, SE 532, RE331, RE332, RE 411, RE 412

Course Type: Major

Level: 4

Term: 2

Section: 

 

Course Objectives                                                                                                                             

  • To prepare students to be Junior RPA Developers.

  • To learn the basic concepts of Robotic Process Automation.

  • To develop familiarity and deep understanding of UiPath tools.

  • To develop the ability to independently design and create robots for business processes.

  • To develop skills required to pass the UiPath RPA Associate v1.0 Exam successfully.

 

Course Content 

Robotics Process Automation (RPA) Lab course introduces students to the fundamental principles and practical application of RPA using UiPath Studio. Beginning with an overview of automation history and the RPA landscape, students delve into UiPath Studio installation, user interface navigation, and the construction of foundational robots. Subsequent weeks cover essential topics such as UI interactions, control flow, error handling, data manipulation, and automation techniques. Advanced concepts, including the integration of RPA with AI, are explored, followed by an examination of industry-specific applications and case studies. The course culminates with a focus on Orchestrator functionality, exploration of emerging trends in RPA, and hands-on preparation and presentation of a final project, ensuring students acquire comprehensive skills in designing, implementing, and managing RPA solutions for real-world scenarios.

Textbook/Recommended Readings                                                                                      

  1. Learning Robotic Process Automation-Alok Mani Tripathi

 

Reference Books/ Other Supplementary Readings                                                                      

  1. https://academy.uipath.com/

 

Course Code: CS 211

CIE Marks: 60

ISCED: 0613-211

SEE Marks: 40

Course Title: Cyber Security Fundamentals

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Major Core

Level: 4

Term: 1

Section: A

 

Course Objectives

To provide a solid conceptual understanding of the fundamentals of cyber security. More specifically,

 

  • Interpret Key Cybersecurity Concepts: Gain an in-depth understanding of key cybersecurity principles using real-life examples to demonstrate comprehensive knowledge and application.

  • Analyze and Design Cyber Security Architectures: Develop skills in analyzing diverse technology architectures, network models, and defense-in-depth concepts, and adeptly design and evaluate comprehensive cybe rsecurity architectures.

  • Validate Cybersecurity Controls Implementation: Acquire the ability to validate the implementation of cybersecurity controls across networks, systems, applications, data, and emerging technologies.

  • Measure and Manage Cyber Incidents: Learn to measure the impact of cyber incidents and demonstrate the ability to manage these incidents effectively, implementing appropriate controls.

 

Course Content 

 

Cybersecurity is one of the most significant challenges of the contemporary world, due to both the complexity of information systems and the business they support. Software running on current systems is exploited by attackers despite many deployed defense mechanisms and best practices for developing new software. In this course students will learn about overview of cybersecurity domains, global challenges related to cyber security, cyber security governance, concepts of digital trusts, cyber risk, common attack types and attack vectors, implementing cyber security controls, security architecture principles, different architect model like OSI, defense in depth, information flow control, isolation and segmentation, logging, monitoring and detection, encryption fundamentals, techniques and applications of encryption, security of networks, security of systems, security of applications, security of data, risk assessments, vulnerability management, penetration testing, network security, operating system security, application security, data security, security implications and adoption of evolving technology, like threat landscape, cloud and digital collaboration, block chain, zero trust, privilege access management (PAM), security devices, cyber security incident management, investigations, legal holds and preservation, forensics, disaster recovery plan, business continuity plans, etc. The students will work with real-world problems and technical challenges by implementing security solutions in web applications.



Course Code: CS 418

CIE Marks: 60

ISCED: 0612-418

SEE Marks: 40

Course Title: Network & Communication Security

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: (If any)

Course Type: Core

Level: 4

Term: 1

Section: 

 

Course Objectives                                                                                                                             

To provide a solid conceptual understanding of the fundamentals of data communications. More specifically,

  • To know about network and cyber security concepts

  • To know about cyber-attack, vectors, risk, controls

  • To know about Security architecture principles

  • To know about cybersecurity of network, systems, applications and data

  • To know about cyber incident Management and Monitoring

 

Course Content

In this course, students will learn about Basic Computer Networks, Introduction to Computer Security, Aspects of Computer Security, Cryptographic Processes, Network Security-issues, Cryptographic Hash Functions, Security Workshop, Firewall Configuration and Administration, Overview of VPN, Advanced Features of VPN, Advanced Routing, NAT & PAT, Network Monitoring and Tools and Network Security infrastructure.

 

Textbook/Recommended Readings                                                                                                

1) “Computer Networks and Security (2IC60)

T. Ozcelebi and J.I. den Hartog, version 0.38 (2019)

 

Reference Books/ Other Supplementary Readings                                                                       

 

  1. Online tutorial.

  2. Handoutryptography” by Buchanan, W., CRC Press, 2022.

 

Course Code: CS 422

CIE Marks: 60

ISCED: 0612-422

SEE Marks: 40

Course Title: Digital Forensics

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 4

Term: 2

Section: 

Course Objectives   

To provide a solid conceptual understanding of the fundamentals of data communications. More specifically, 

  • To understand the fundamental concepts of digital forensics, including data acquisition, preservation, and analysis.

  • To develop practical skills in forensic investigation techniques, tools, and methodologies used in cybercrime investigations.

  • To learn how to identify, collect, and analyze digital evidence from various sources, such as computers, networks, and mobile devices.

  • To gain knowledge of legal and ethical considerations in digital forensics, including chain of custody, privacy laws, and expert witness testimony.

 

Course Content 

The necessity of Digital Forensic and Computer Forensics Investigation Process, Understanding the Hard Disks, Understanding the File Systems, Data Acquisition and Duplication, Defeating Anti-Forensics Techniques, Fundamentals of Operating Systems Forensics, Windows Forensic and Linux Forensic, Fundamentals of Network Security Architecture, Different Network Attack Methodologies, Network Attack Forensics, Fundamentals of Web Application Security Posture, Web Application Attack Methodologies, Investigating Web Attacks, Database Forensics, Cloud Forensics, Investigating Email Crimes, Malware Forensics, Mobile Forensics, IoT Forensics, Fundamentals of Web Application Security Posture, Web Application Attack Methodologies, Investigating Web Attacks, Database Forensics, Cloud Forensics, Investigating Email Crimes, Mobile Forensics, Malware Forensics, Importance of different types, Purposes, Scope of Forensic.

Textbook/Recommended Readings                                                                                                

A Practical Guide to Digital Forensics Investigations, 2nd Edition, by Darren R. Hayes, Released October 2020

Publisher(s): Pearson IT Certification, ISBN: 9780134878942 

 

Reference Books/ Other Supplementary Readings                                                                        

Digital Forensics and Incident Response: A practical guide to deploying digital forensic techniques in response to cyber security incidents, by Gerard Johansen, ISBN-13: 978-1787288683



Course Code: DS 331

CIE Marks: 60

ISCED: 0613-331

SEE Marks: 40

Course Title: Introduction to Data Science and Data Management & Analysis

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 2 (Theory)

Contact Hours: 2 (Total weeks: 18)

Prerequisite: SE 121, STAT 101

Course Type: Major

Level: 4

Term: 1

Section: 

 

Course Objectives

The goal of this course is to introduce the students about the concept of Data Science. The main objectives of this course are-

  • To Learn the introduction of data science.

  • To Learn and understand the data engineering tools.

  • To learn and demonstrate data visualization and algorithm.

  • To learn and apply data science methodology and understand the ETL

 

Course Content

Intro To Data Science, Learn about data science engineer and data analyst, Learn the difference among data science engineer and data analyst, Old problems, new problems, Data Science solutions, Applications of Data Science, Data Science Real life problems and solutions, Applications of Machine Learning, Introduction Languages of Data Science. Introduction to Python, Python Libraries for Data Science, Introduction to Jupyter Notebook, Open-Source Tools for Data Science, Introduction to R and RStudio, Commercial Tools for Data Science, Data Sets - Powering Data Science, Analytic Approach, Data hb Requirements, Data Collection, Data Understanding, Data Preparation - Concepts, Introduction to Data Visualization, Data Visualization Tools, Data Ethics, Basic Statistics, Data Modeling- Case Study, Database and SQL for data science, ETL Process and architecture, Time series Forecasting, Business Understanding and Deployment.

 

Textbook/Recommended Readings                                                                                      

A Hands-On Introduction to Data Science [ Book by Chirag Shah]

 

Reference Books/ Other Supplementary Readings                                                               

  1. Introduction to Machine Learning with Python: A Guide for Data Scientists [Book by Andreas C. Müller and Sarah Guido]

  2.    https://www.youtube.com/watch?v=N6BghzuFLIg



Course Code: DS 411

CIE Marks: 60

ISCED: 0613-411

SEE Marks: 40

Course Title: Statistical Data Analysis

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 2 (Theory)

Contact Hours: 2 (Total weeks: 18)

Prerequisite: MAT 101, STA 101

Course Type: Major

Level: 4

Term: 1

Section: 

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of statistics. More specifically,

  • Students will be taught to apply appropriate statistical tests to answer research queries that will solve real-world problems.

  • Students will be taught to critique existing statistical experiments so that they can identify any issues with experiment design, analysis, and interpretation.

  • Students will be taught to evaluate any societal, cultural, or ethical issues in statistical experiments.

  • Students will be taught to develop their self-learning capabilities so that they can keep themselves updated with the dynamic field of data science.

 

Course Content

Data Types, Data Quality, Mean, Median, Mode, Percentiles, Quantiles, Variance, Standard Deviation, Interquartile Range, Range, Correlation, Pearson Correlation, Spearman’s Rank Correlation, Histogram, Density Plot, Bar Chart, Grouped Bar Chart, Stacked Bar Chart, Heatmap, Scatter Plot, Line Plot, Sampling Methods, Probability Sampling, Simple Random Sampling, Systematic Sampling, Cluster Sampling, Stratified Sampling, Non-Probability Sampling, Snowball Sampling, Quota Sampling, Convenience Sampling, Probability Theory, Counting Theory, Permutation, Combinations, Random Variables, Discrete Random Variable, Continuous Random Variable, Probability Mass Function, Probability Density Function, Cumulative Density Function, Probability Distributions, Bernoulli Distribution, Binomial Distributions, Poisson Distribution, Hypergeometric Distribution, Normal Distribution, Uniform Distribution, Sampling Distribution, Central Limit Theorem, Confidence Intervals, Hypothesis Testing, P-Value, Type-I Error, Type-II Error, Statistical Power, Z-Test, T-Test, Two Sample T-Test, Paired T-Test, Analysis Of Variance, Chi-Square Test, F-Statistic, Simple Linear Regression, Multiple Linear Regression.

Textbook/Recommended Readings                                                                                               

  1. Griffiths, D. (2008). Head First statistics. O'Reilly Germany.

  2. Wasserman, Larry. All of statistics: a concise course in statistical inference. Vol. 26. New York: Springer, 2004.

 

Reference Books/ Other Supplementary Readings                                                                    

  1. Field, Andy, Jeremy Miles, and Zoë Field. Discovering statistics using R. Sage publications, 2012.

 

Course Code: DS 421

CIE Marks: 60

ISCED: 0613-421

SEE Marks: 40

Course Title: Machine Learning Driven Data Analysis I

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 2 (Theory)

Contact Hours: 2 (Total weeks: 18)

Prerequisite: DS 331, DS 332, DS 411, DS 412

Course Type: Major

Level: 4

Term: 2

Section: 

Course Objectives                                                                                                                             

To provide a solid conceptual understanding of the fundamentals of Machine Learning. More specifically,

  • Students will be taught to apply appropriate machine learning models to automate real-world problems.

  • Students will be taught to critique existing models so that they can identify any issues with experiment design, analysis, results, conclusions, and interpretation.

  • Students will be taught to evaluate any societal, cultural, or ethical issues in existing machine learning.

  • Students will be taught to develop their self-learning capabilities so that they can keep themselves updated with the dynamic field of machine learning.

Course Content 

Gradient Descent, Hypothesis Function, Loss Function, Learning Rate, Learning Rate Scheduling, Early Stopping, Stochastic Gradient Descent, Batch Gradient Descent, Mini-Batch Gradient Descent, Simple Linear Regression, Multiple Linear Regression, Vectorization of Gradient Descent, Logistic Regression, Binary Log-Loss Function, Polynomial Regression, Overfitting And Underfitting, Bias-Variance Tradeoffs, Regularization Methods, L1 Penalty, L2 Penalty, Ridge Regression, Lasso Regression, Elastic Net, Artificial Neural Networks, Activation Functions: ReLU, Hyperbolic Tangent Function, SoftMax, etc., Dropout Layer, Advanced Optimization Techniques: Momentum, RMSProp, and ADAM, Decision Tree, Gini, Entropy, CART Algorithm, Ensemble Learning: Voting, Bagging, Pasting, Random Patches, Random Subspaces, Random Forest, Boosting, and Stacking, XGBoost, Model Selection: Hyperparameter Tuning, Grid Search, Random Search and Cross-Validation, Model Evaluation: Bootstrapping, Mean Absolute Error, Mean Square Error, Root Mean Square Error, Confusion Matrix, Type I Error, Type II Error, Accuracy, Precision, Recall, Sensitivity, Specificity, True Positive Rate, False Positive Rate, AUC-ROC, Precision-Recall Curve, Feature Engineering: Normalization, Standardization, and Augmentation, K-Means Clustering, Agglomerative Clustering, Single Linkage, Complete Linkage, Average Linkage, DBSCAN, Anomaly Detection, Recommendation Systems, Collaborative Filtering, Content-Based Filtering, Dimensionality Reduction, Principal Component Analysis, Locally Linear Embedding, t-SNE, Reinforcement Learning, Q-Learning.

Textbook/Recommended Readings                                                                                               

  1. “Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow” by Aurélien Géron, 2nd Edition, 2019

 

Reference Books/ Other Supplementary Readings                                                                        

  1. Kochenderfer, M. J., & Wheeler, T. A. (2019). Algorithms for optimization. Mit Press.

  2. “Deep Learning” by Ian Goodfellow and Yoshua Bengio and Aaron Courville, Final Edition, 2016

 

Semester 8 (4th Year 2nd Semester)

 


 

 

Course Code: SE 341


Total Marks: 100

ISCED: 0613-341

Course Title: Numerical Analysis

Semester: Spring  2024

Credit Value: 3 (Theory)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Core

Level: 4

Term: 2

 

Course Objectives                                                                                                                             

This course is an introduction to numerical analysis. The primary objective of the course is to develop the basic understanding of numerical algorithms and skills to implement algorithms to solve mathematical problems on the computer. The main objectives of this course are that students will be able to

  • Demonstrate understanding of common numerical methods and how they are used to obtain approximate solutions to otherwise intractable mathematical problems.

  • Apply numerical methods to obtain approximate solutions to mathematical problems.

  • Derive numerical methods for various mathematical operations and tasks, such as interpolation, differentiation, integration, the solution of linear and nonlinear equations, and the solution of differential equations.

  • Analyze and evaluate the accuracy of common numerical methods.

 

Course Content (from syllabus)                                                                                                             

In this course students will be introduced to the mathematical analysis of numerical methods by emphasizing on different algorithms that are encountered in many disciplines like physical sciences and engineering. By the end of this course, students will be competent to solve complex mathematical problems using simple arithmetic operations such as bisection method, Newton Raphson’s method, differentiation, matrix problems, finding roots of equations, overview of Gaussian elimination, partial pivoting, LU decomposition, boundary value.

Textbook/Recommended Readings                                                                                          

1. Numerical Methods for Engineers, By Raymond Canale and Steven C. Chapra, 7th Edition.

 

Reference Books/ Other Supplementary Readings                                                           

  1. Numerical Methods by Balagurusamy



Course Code: RE 423

CIE Marks: 60

ISCED: 0714-423

SEE Marks: 40

Course Title: Advanced Robotics

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 2

Contact Hours: 2.5 (Total weeks: 12)

Prerequisite: SE532

Course Type: Major

Level: 4

Term: 2

Section: 

 

Course Objective                                                                                                                                        

To provide a solid understanding of different components and design of Advanced Robotics solutions. More specifically                                                                                                                  

  • To explore advanced robotics components.

  • To learn the advanced concepts of advanced robotics.

  • To develop a deep understanding of advanced robot control systems.

  • To develop the ability to solve social problems using advanced robotics. 

 

Class Content (from syllabus)                                                                                                                   

The basic terminologies related to Advanced Robotics applications, advanced sensors, actuators and algorithms. Working principles of advanced robotics components like, Lidar sensor, IMU sensor, encoder sensor, GPS sensor, Depth Camera, encoder motor, hub motor, Brush less motor.  In-depth knowledge about robot kinematics. Mathematical representation of forward kinematics and inverse kinematics. Introduction to Robot Operating System (ROS). Components of ROS. Brief discussion about Gazebo, RVIZ and Rqt graph. Introduction to robot navigation system. In-depth knowledge about robot localization, sensor fusion, mapping, and motion planning. Designing advanced robotics solution architecture.

 

Textbook/Recommended Readings                                                                                                    

Craig, J. J., Introduction to Robotics, Mechanics and Control, 3rd Edition, Addison Wesley, 2005

 

Reference Books/ Other Supplementary Readings                                                                       

  1. LOW, K.H., “Robotics, principles and systems modeling,” 2nd edition, Prentice Hall, 2004

  2.  https://ros.org/



Course Code: RE424

CIE Marks: 60 

ISCED: 0714-423

LF Marks: 40 

Course Title: Advanced Robotics Lab

Total Marks: 100

Semester: Spring 2024

Credits: 1 (Lab)

Contact Hours: 1.15 (Total 18 weeks)

Prerequisite:  SE532

Course Type: Major

Level: 4

Term: 2

Level: 4

                                                                                                                                               

Course Objective                                                                                                                               .

The goal of this course is to introduce the students about the concept of Advanced Robotics

applications. The main objectives of this course are, 

  • To learn the implementation of advanced robotics components.

  • To practice advanced concepts of robotics.

  • To develop familiarity and deep understanding of advanced robotics tools.

  • To develop the ability to independently design and create robotics solutions for industrial purposes.

Course Content (from syllabus)                                                                                                            .

The Advanced Robotics Lab course encompasses a diverse range of topics aimed at providing students with comprehensive knowledge and practical skills in robotics. Beginning with the study and implementation of DC encoder motors and HUB motors, participants delve into sensor technologies such as IMUs and Lidar, exploring their integration with the Robot Operating System (ROS) environment. Concepts like PID control and fuzzy logic are covered for advanced motion control and decision-making. Students learn to install and utilize ROS on Ubuntu systems, write basic nodes, and implement navigation stacks for autonomous robot movement. Practical exercises involve sensor fusion, 2D map building with Lidar, and optimizing navigation algorithms. By the end of the course, participants gain proficiency in various robotic components, algorithms, and systems integration, preparing them for complex robotics applications in research and industry.

 

Textbook/Recommended Readings                                                                                                                                                                                                            

  1.  Craig, J. J., Introduction to Robotics, Mechanics and Control, 3rd Edition, Addison Wesley, 2005

 

Reference Books/Other Supplementary Readings:                                                                                                                                                        

  1. LOW, K.H., “Robotics, principles and systems modeling,” 2nd edition, Prentice Hall, 2004

  2.  https://ros.org/

 

Course Code: CS 334

CIE Marks: 60

ISCED: 0613-334

SEE Marks: 40

Course Title: Ethical Hacking and Countermeasure

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 1 (Theory)

Contact Hours: 1.15 (Total weeks: 18)

Prerequisite: N/A

Course Type: Major Core

Level: 4

Term: 2

Section: A

 

Course Objectives                                                                                                                           To provide a solid conceptual understanding of the fundamentals Ethical Hacking, more specifically

  • To know about ethical hacking, information security controls, related laws & standards, and countermeasures to ensure the System's security.

  • To know how to perform footprinting and reconnaissance, the network scanning techniques and scanning countermeasures, enumeration techniques and enumeration countermeasures,

  • To know about System hacking methodology, steganography, steganalysis attacks, and covering tracks to discover System and network vulnerabilities.

  • Know about Different types of malwares (Trojan, Virus, worms, etc.), system auditing for malware attacks, malware analysis, and countermeasures.

  • Learn about encryption algorithms, cryptography tools, Public Key Infrastructure (PKI), email encryption, disk encryption, cryptography attacks, and cryptanalysis tools.

  • Learn different cloud computing concepts, various cloud computing threats, attacks, hacking methodologies, and cloud security techniques and tools.

Course Content (from syllabus)                                                                                                           In this course students will learn about Necessity of ethical hacking knowledge to protect the infrastructure, footprinting & reconnaissance process, vulnerability assessment, analyze them to prepare attack vector, exploiting vulnerabilities to hack the system, web application attack, different attack methodology, sniffing, malware analysis, cryptography & cloud computing etc.

Textbook/Recommended Readings                                                                                               

  1. All In One CEH Certified Ethical Hacker Exam Guide, 3rd Edition, by Matt Walker, Released 2017

Publisher(s): Mc Graw Hill Education, ISBN: 978-1-25-983656-5

 

Reference Books/ Other Supplementary Readings                                                                      

  1.       CEH Study Materials from EC-COUNCIL, V-12.0, Published in 2022.

 

Course Code: CS 335

CIE Marks: 60

ISCED: 0613-335

SEE Marks: 40

Course Title: Ethical Hacking and Countermeasure LAB

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 2 (Lab)

Contact Hours: 2.5 (Total weeks: 18)

Prerequisite: N/A

Course Type: Major Core

Level: 4

Term: 2

Section: A

 

Course Objectives                                                                                                                                         To provide a solid conceptual understanding of the fundamentals Ethical Hacking, more specifically

  • To know how to perform Footprinting and reconnaissance, the network scanning techniques and scanning countermeasures, enumeration techniques, and enumeration countermeasures;

  • To know about packet sniffing techniques, social engineering techniques, session hijacking techniques, and web server attack methodology with their uses for discovering network vulnerabilities, plus countermeasures against these attacks.

  • To know about Wireless encryption, wireless hacking methodology, wireless hacking tools, and Wi-Fi security tools;

  • To know about Mobile platform attack vectors, android vulnerability exploitations, and mobile security guidelines and tools;

  • To know about Firewall, IDS, honeypot evasion techniques, evasion tools, and techniques to audit a network perimeter for weaknesses and countermeasures; 

Course Content (from syllabus)                                                                                                             

The ethical hacking and countermeasures course with LAB intends to provide students with hands-on practice to identify information system security vulnerabilities and exploit those and implement countermeasures to prevent unauthorized use of corporate information. This course will give students a practical experience of acquiring information from various sources and targeted organizations using various tools and techniques, assessing and detecting vulnerabilities, and exploiting the identified weaknesses using different ethical hacking methodologies. The tools and techniques covered in class will practically prepare students for performing hacking ethically to protect corporate information. Furthermore, it would prepare them to understand and implement appropriate countermeasures to prevent unauthorized corporate information systems.

 

Textbook/Recommended Readings                                                                                               

  1. Kali Linux tutorialpoint SIMPLY EASY LEARNING, by Tutorials Point (I) Pvt. Ltd., Published 2017 Publisher(s): Tutorials Point (I) Pvt. Ltd.

 

Reference Books/ Other Supplementary Readings                                                                      

  1. CEH Study Materials from EC-COUNCIL, V-11.0, Published in 2022

 

Course Code: DS 423

CIE Marks: 60

ISCED: 0613-423

SEE Marks: 40

Course Title: Machine Learning Driven Data Analysis II and Communicating Data Insights

Total Marks: 100

Semester: Spring 2024

 

Credit Value: 2 (Theory)

Contact Hours: 2 (Total weeks: 18)

Prerequisite: DS 411, DS 412, SE 544

Course Type: Major

Level: 4

Term: 2

Section: 

 

Course Objectives                                                                                                                                       

To provide a solid conceptual understanding of the fundamentals of data communications. More specifically,

  • To learn deep neural networks, implement vectorized neural networks, identify architecture parameters, and apply DL to real world applications.

  • To learn test sets and analyze bias/variance for building DL applications, use standard NN techniques, apply optimization algorithms, and implement a neural network in TensorFlow.

  • To learn strategies for reducing errors in ML systems, understand complex ML settings, and apply end-to-end, transfer, and multi-task learning.

  • To learn a Convolutional Neural Network, apply it to visual detection and recognition tasks, use neural style transfer to generate art, and apply these algorithms to image, video, and other 2D/3D data.

  • To learn the Recurrent Neural Networks and its variants (GRUs, LSTMs), apply RNNs to character-level language modeling, work with NLP and Word Embeddings, and use HuggingFace tokenizers and transformers to perform Named Entity Recognition and Question Answering.

 

Course Content                                                                                                     

Introduction to deep learning, create and train neural network architectures like Basic of Neural Network, Action Function, Forward Propagation, Back Propagation, Chain Model Convolutional Neural Networks, Recurrent Neural Networks, LSTMs, and Transformers, as well as how to improve them with tactics like Dropout, BatchNorm, Xavier/He initialization, and more. Students will be able to grasp theoretical principles and their industry applications using Python and TensorFlow, and to take on real-world problems like object detection, speech recognition, music synthesis, and chat bots, and more. 

 

Textbook/Recommended Readings                                                                                               

Géron, Aurélien. Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: Concepts, tools, and techniques to build intelligent systems. O'Reilly Media, 2019

 

Reference Books/ Other Supplementary Readings                                                              

  1. Weidman, Seth. Deep Learning from Scratch: Building with Python from First Principles. " O'Reilly Media, Inc.", 2019.

  2. Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. Deep learning. MIT press, 2016.