Bachelor of Science in Computer Science and Engineering (BSCSE) – 134 credit hours

The objective of the BS degree in Computer Science and Engineering is to enable the students to be competent computer hardware professionals as well as to perform further studies. It is a 134-credit hour program requiring about 4 years to complete.

During the first two years, the students are introduced to the basic principles of Engineering as well as Computer Science. This comprehensive introduction lays a foundation in Engineering Designs and Digital Electronics, Mechanics, Computer Programming, and Operating Systems Design. In this period, the students are also exposed to broad-based pure science courses, namely, Physics and Chemistry, and a wide range of education courses, such as English, Philosophy, Psychology, Sociology and other liberal arts and social science courses.

The third-year concentrates on broadening the fundamental knowledge in Computer Software and Hardware and its designs. It potentially forms the basis for the student to become both a software engineer and a hardware engineer for the future. During the fourth year, students are encouraged to deepen their understanding in areas of particular interest and ability. Finally, the students are required to complete a project on the topic of student’s interest in computer software or hardware

The breakdown of the total of 134 credits and degree requirements is given as follows:

Degree Core Courses 101 Credits
GED Courses   18 Credits
Electives     9 Credits
Open Electives     6 Credits
Total 134 Credits

Degree Core Courses (101 credits):

Courses Titles Credits
CSE 115 Computing Concepts 3
CSE 115L Computing Concepts Lab 1
CSE 135 Fundamentals of Computer Programming 3
CSE 135L Fundamentals of Computer Programming Lab 1
CSE 173 Discrete Mathematics 3
CSE 225 Data Structures 3
CSE 225L Data Structures Lab 1
CSE 231 Digital Logic 3
CSE 232 Computer Organization and Design 3
CSE 243 Electrical Circuits 3
CSE 243L Electrical Circuits Lab 1
CSE 253 Electronics I 3
CSE 253L Electronics I Lab 1
CSE 257 Numerical Methods 3
CSC 273 Introduction to Theory of Computation 3
CSE 283 Electrical and Electronics Circuit Design Laboratory I
CSE 311 Database Systems 3
CSE 323 Operating Systems Design 3
CSE 326 Compiler Construction 3
CSE 327 Software Engineering 3
CSE 331 Microprocessors and Assembly Language Programming 3
CSE 338 Computer Networks 3
CSE 351 Electronics II 3
CSE 351L Electronics II Lab 1
CSE 353 Electrical and Electronics Circuit Design Laboratory II
CSE 373 Design and Analysis of Algorithms 3
CSE 413 Digital Electronics & Microprocessor Design Laboratory 2
CSE 482 Internet and Web Technology 3
CSE 499 Project/Internship/Special Laboratory Project 3
MAT 116 Pre-Calculus 3
MAT 125 Linear Algebra 3
MAT 120 Calculus and Analytical Geometry I 3
MAT 130 Calculus and Analytical Geometry II 3
MAT 240 Calculus and Analytical Geometry III 3
MAT 250 Calculus and Analytical Geometry IV 3
MAT 350 Engineering Mathematics 3
MAT 361 Probability and Statistics 3
PHY 107 General Physics I 3
PHY 108 General Physics II 3
CHE 101 General Chemistry 3
Total credits 101

General Education Courses (18 credits):

The university requirement for the GED courses is 27 credits. A total of 9 credits comprising 3 credits each in Computer Science, Mathematics and Science are fulfilled in the core requirement.  Therefore, students take only 18 credits of GED including:

ENG 103 Intermediate Composition
ENG 105 Advanced Writing Skills
ENV 107/ENV 214 Environmental Science/Environmental Management
GED Any 3 courses (9 credits) from the approved list of GED courses


Specialized Courses and Open Electives (15 Credits):

Students must choose any one of the following Trails:

i. Minor in other subject Trail

A student may choose to follow the minor program in BBA, Economics, English, Environmental Studies or Mathematics. Any credits remaining should be filled by open electives. Students choosing this option must bring a confirmation from the respective Academic Department indicating the fulfillment of the minor requirements.

ii. Telecommunication Engineering Trail

ETE 221    Signal and Systems

ETE321     Introduction to Communications Systems

ETE 422    Principles of Digital Communications

ETE 423    Principles of Telecommunication Network

ETE 424    Mobile and Wireless Communication System

ETE 426    Fiber-Optic Communications System

CSE437     Fundamentals of Telecommunications

ETE 451    Telecommunication Policy & Management

iii. Computer Networks and Systems trail

CSE 433    Computer Architecture

CSE 438    Networks and Distributed Systems

CSE 439    Advanced Computer Networks

CSE 463    Integrated Circuit Logic Design

CSE 487    Microprocessor-based System Design

iv. Software Engineering Trail

CSE 411    Advanced Database

CSE 421    Advanced Enterprise Java

CSE 424    Object-Oriented Software Development

CSE 425    Programming Language Principles

CSE 427    Software Quality Assurance

CSE 428    Software Project Management

CSE 429    Software System Architecture

v. Information and Communications Technology (ICT) Trail

CSE 410    Management Information Technology

CSE 411    Advanced Database

ETE 426    Fiber-Optic Communications System

ETE 427    Satellite Communication System

CSE 437    Fundamentals of Telecommunications

CSE 439    Advanced Computer Networks

CSE 467    Image Processing

vi. Bioinformatics Trail

BIO 210    Introduction to Molecular Biology

CSE 419    Data Mining

CSE 446    Introduction to Bioinformatics

CSE 447    Functional Bioinformatics

vii. Intelligent System Engineering Trail

CSE 440    Artificial Intelligence

Take any 2 from the following

CSE 441    Symbolic Logic

CSE 445    Machine Learning

CSE 448    Neural Networks

CSE 465    Pattern Recognition

CSE 467    Image Processing

CSE 470    Theory of Fuzzy Systems

CSE 485    Digital Signal Processing

viii. Advanced VLSI Chip Design Technology Trail

ETE 411    Semiconductor Devices and Technology

CSE 412    VLSI Chip Design with Programmable Logic Device

CSE 453    Verilog HDL:Modeling, Simulation and synthesis

CSE 414    Advanced chip Design Methodology and Optimization using HDL

CSE 415    VLSI Chip Testing

CSE 416    Digital Integrated Circuit Technology

CSE 417    Logic Circuit Synthesis and Optimization

ix. Algorithms Trail

CSE 472    Advanced Algorithm

CSE 473    Parallel Processing

CSE 478    Graph Theory

CSE 425    Programming Languages Principles

CSE 474    Computational Complexity

CSE 475    Automata Theory and Formal Language

x. Robotics and Control Trail

CSE 263    Kinematics and Robotics

CSE 434    Software & Quality Assurance

CSE 432    Computer Interfacing & Peripherals

CSE 436    Industrial Electronics and Instrumentation

xi. MIS Trail

MGT 210  Principles of Management

CSE 410    Management of Information Technology

MIS 440    Introduction to Management Information System

MIS 460    Management Support Systems

MIS 470    Systems Analysis and Design

xii. CSE Electives Trail

Students must take any 3 CSE courses from the list below. The remaining 2 courses are open electives. In addition; any 400-level course from the CSC, CEG and ETE Curriculum will be counted towards CSE Electives.

CSE 410 Management of Information Technology
CSE 411 Advanced Database Systems
CSE 412 VLSI Chip Design with Programmable Logic Device
CSE 414 Advanced Chip Design Methodology and Optimization using HDL
CSE 415 VLSI Chip Testing
CSE 416 Digital Integrated Circuit Technology
CSE 417 Logic Circuit Synthesis and Optimization
CSE 418 Computer Graphics
CSE 419 Data Mining
CSE 421 Advanced Enterprise Java
CSE 422 Simulation and Modeling
CSE 423 Advanced Operating Systems
CSE 424 Object-Oriented Software Development
CSE 425 Programming Languages Principles
CSE 426 Advanced Compiler
CSE 427 Software Quality Assurance
CSE 428 Software Project Management
CSE 429 Software System Architecture
CSE 430 Formal Methods in Software Engineering
CSE 432 Computer Interfacing and Peripherals
CSE 433 Computer Architecture
CSE 434 Feedback Control Systems
CSE 435 Introduction to VLSI Design
CSE 436 Industrial Electronics and Instrumentation
CSE 437 Fundamentals of Telecommunications
CSE 438 Networks and Distributed Systems
CSE 441 Symbolic Logic
CSE 440 Artificial Intelligence
CSE 445 Machine Learning
CSE 446 Introduction to Bioinformatics
CSE 447 Functional Bioinformatics
CSE 448 Neural Networks
CSE 451 Genetic Algorithm
CSE 453 Verilog HDL: Modeling, Simulation and Synthesis
CSE 456 Petri Nets
CSE 457 Numerical Analysis
CSE 463 Integrated Circuit Logic Design
CSE 465 Pattern Recognition
CSE 467 Image Processing.
CSE 470 Theory of Fuzzy Systems
CSE 472 Advanced Algorithm
CSE 473 Parallel Processing
CSE 474 Computational Complexity
CSE 475 Automata Theory and Formal Languages
CSE 478 Graph Theory
CSE 482 Internet and Web Technology
CSE 485 Digital Signal Processing
CSE 487 Microprocessor-Based System Design
CSE 497 Special Topics

Course Descriptions

BS-CSE Core and Elective Engineering Courses

CSE 115: Computing Concepts

The first course for computer science majors and other students with a deep interest in the subject.  The course introduces fundamental concepts in computing as data abstraction, algorithms, dynamic data structures, and complexity theory. Implementation is done in a formalized pseudocode only. An introduction to ethics in computer science including philosophical ethics theories.  4 credits (Theory 3 + Lab 1 credit).

CSE 135: Fundamentals of Computer Programming

This is a more traditional programming course for computer science majors and other students with a deep interest in the subject. Actual programs are constructed using one or more high-level languages with emphasis placed on the concepts introduced in the previous course. Reusability, readability, and documentation are also strongly stressed.
Prerequisite: CSE 115 and MAT 120.  4 credits (Theory 3 + Lab 1 credit).

CSE 173: Discrete Mathematics

Introduction to discrete mathematical structures.  Topics include sets, propositions, Boolean algebra, relations, functions, algebraic systems, monoids, fields, groups, ring, induction, recursion, permutations and combinations, recurrence relation, generating functions and solutions, principles of counting, principles of inclusion and exclusion, discrete probability.
Prerequisite: CSE 135, CSE 225.  3 credits.

CSE 225: Data Structures & Algorithms

An introduction to the theory and practice of data structuring techniques. Topics include internal data representation, abstract data types, stacks, queues, list structures, recursive data structures, graphs, and networks. The concept of object orientation as a data abstraction technique will be introduced.
Prerequisite: CSE 135.  4 credits (Theory 3 + Lab 1 credit).

CSE 231: Digital Logic

Introduction to Boolean algebra and logic gates, simplification of Boolean functions, combinational and sequential logic, digital functions: decoders, encoders, multiplexers, demultiplexers; registers, counters, memory organizations.
Prerequisite: CSE 225, CSE 173.  3 credits.

 CSE 232: Computer Organization and Design

Design of a simple processor, control logic design: random logic and microprogramming; machine-level programming, instruction sets, data representations; subroutines; input/output hardware and software; pipelining; relation to high-level languages.
Prerequisite:  CSE 231.  3 credits.

 CSE 243: Electrical Circuits

Formulation and solution of circuit equations, network theorems, sinusoidal steady-state analysis. Topics include loop and nodal analysis, superposition and Thevenin theorem, properties of sinusoids, phasor representation and vector diagrams. This course has mandatory laboratory sessions every week.
Prerequisite: MAT 120. 3 Credits.

 CSE 253: Electronics

Small and large-signal characteristics and models of electronic devices; analysis and design of elementary electronic circuits. This course has mandatory laboratory sessions every week.
Prerequisite: CSE 243. 3 Credits.

CSE 257: Numerical Methods

Techniques of linear algebra include system of linear equations, matrices, and inverses, determinants, vector spaces, Eigenvalues, and Eigenvectors. The solution of the linear system: Gaussian elimination. Iterative methods: Gaussian method, the inverse of a matrix by Gauss Jordan method. Interpolation and approximation: Lagrange polynomials, Newton’s formula, Numerical differentiation, and integration.
Prerequisite: CSE 225, MAT 125, MAT 240  3 credits.

 CSE 263: Kinematics and Robotics

Vector representation of forces and moments; general three-dimensional theorems of statics; free bodies; two-and three-dimensional statically determinate frames; centroids and moments of inertia of areas.  The absolute motion of a particle; motion of rigid bodies; rotating axes and the Coriolis component of acceleration; Newton’s laws applied to translate and rotating rigid bodies; principles of work and energy and impulse and momentum in translation and rotation; moments of inertia of masses.
Prerequisite:  CEG 100, PHY108 and MAT 250. 3 Credits.

 CSE 273: Introduction to Theory of Computation

Theorem proving, propositional logic, first-order logic, finite automata, formal languages, Turing machines, uncomputability, computational complexity, and NP-completeness.
Prerequisite: CSE 173, CSE 225.  3 credits.

 CSE 281: Introduction to Digital Electronics

Theory and operation of circuits used in digital computers including basic electrical circuit principles, diodes, bipolar and MOS transistors, digital logic circuits, memory circuits, and the fundamentals of analog circuits.
Prerequisite: PHY108, CSE 231.  3 credits.

 CSE 283: Electrical and Electronics Circuit Design Laboratory I

Principles of instrumentation and data analysis and the development of methods of experimental analysis for testing theories and hypotheses.
Prerequisite: CSE 243. 2 Credits.

 CSE 311: Database Management Systems

Examines the logical organization of databases: the entity-relationship model; the hierarchical, network, and relational data models and their languages.  Functional dependencies and normal forms.  Design, implementation, and optimization of query languages; security and integrity; concurrency control, and distributed database systems.
Prerequisites: CSE 225.  3 credits.

 CSE 323: Operating Systems Design

Operating Systems Design: An introduction to the structure of modern operating systems. Topics include operating systems structure, asynchronism, mutual exclusion, deadlocks, monitors, process state transition, interrupts, context switching, storage management for both real and virtual storage, processor scheduling, multi-processing, auxiliary storage management, computer systems performance, network, and security.
Prerequisite: CSE 225 and CSE 232.  3 credits.

 CSC 325: Programming Languages Principles

An introduction to the structure of programming languages.  Formal specification of syntax and semantics; the structure of algorithmic, list processing, string manipulating, data description, and simulation languages:  basic data types, operations, statement types, and program structure; macro language and their implementation; and run-time representation of programs and data.
Prerequisite: CSE 225.  3 credits.

 CSE 326: Compiler Construction

Compiler structure; Lexical analysis, syntax analysis grammars, description of programming languages, automatically constructed recognizers and error recovery; and semantic analysis, semantic languages, semantic processes, intermediate language, optimization techniques, and extendible compilers.
Prerequisite:  CSE 232 and CSE 273.  3 credits.

 CSE 327: Software Engineering

Follows the software life cycle from the requirement, specification, and design phases through the construction of actual software.  Topics include management of programming teams, programming methodologies, debugging aids, documentation, evaluation, and measurement of software, verification and testing techniques, and the problems of maintenance, modification, and portability.
Prerequisite: CSE 225.  3 credits.

 CSE 331: Microcomputer Systems

Study of microprocessor architectures, hardware modules, and interfaces; programming, software tools, development systems, and applications; and microprocessor system design methodology.
Prerequisite: CSE 232.  3 credits.

 CSE 338: Computer Networks I

Introduction to International Standards Organization open System Interconnection (ISO-OSI) reference model, design issues and protocols in the physical layer, data link layer  and network layer;  architectures and control algorithms of local area networks, point-to-point networks and satellite networks; standards in-network access protocols; models of network interconnection, and overview of networking and communication software:
Prerequisite: CSE 232 and MAT 361.  3 credits.

 CSE 348: Artificial Intelligence

An introductory description of the major subjects and directions of research in artificial intelligence; topics include all languages (LISP and PROLOG), basic problem-solving techniques, knowledge representation, and computer inference, machine learning, natural language understanding, computer vision, robotics, and societal impacts.
Prerequisite: CSE 225 and CSE 232; or consent of instructor.  3 credits.

 CSE 351: Electronics II

This course develops an in-depth knowledge of the frequency response and design methods to fix gain – bandwidth specifications in amplifier circuitry. The design use of feedback techniques is also presented in this course. Properties and design application of operational amplifies are elaborately studied. Signal generators: Basic principle of sinusoidal oscillation, different types of oscillators also included in this course. This course has mandatory laboratory sessions every week.
Prerequisite: CEG 253. 3 Credits.

 CSE 353: Electrical and Electronics Circuit Design Laboratory II

Principles of instrumentation and data analysis and the development of methods of experimental analysis for testing theories and hypotheses.
Prerequisite:  CSE 283. 2 Credits

 CSE 373: Design and Analysis of Algorithms

Advanced data structures, complexity analysis, sorting and searching, graph algorithms, arithmetic algorithms, geometric algorithms, string problems, parallel algorithms, NP-Completeness.
Prerequisite: CSE 273 and MAT 361 or consent of instructor.  3 credits.

 CSE 382: Internet and Web Technology

The course develops an in-depth knowledge of the concepts, principles and implementation techniques related to the Internet and web technology. Details about the Internet, Intranet, Extranet, and e-commerce will be covered. Topics include Web server management, threats, the security of client and server, network security like firewall, SSL, etc., authentication and authorization, legislation, privacy and IP act, electronic payment, e-business, search engine, Internet protocols like TCP/IP, SGML, XML. Design and development of Web applications using Java Applets, ASP, JavaScript, CGI, and other Web tools are discussed.
Prerequisite: CSE 338. 3 credits.

 CSE 410: Management of Information Technology

Definition of technology in the manufacturing, service and IT industry; Importance of R&D management and technology transfer; Importance of integrating technology planning, product planning, business planning and the market demands’ Human, social and environmental concerns associated with technological change. Case studies: (a) Lessons from successful corporations: Intel and Microsoft, (b) Applications in Bangladesh Industries: IT, software, energy, garments, telecom, and agriculture. Cross-listed with MGT410.
Prerequisite: 100 credits completed. 3 credits.

CSE 412: VLSI Chip Design with Programmable Logic Devices. (FPGA/CPLD)

Introduction to the design and layout of Very Large Scale Integrated Circuits (VLSI). Emphasis is placed on digital CMOS circuits. The static and dynamic properties of MOSFET devices, along with integrated circuit fabrication are examined. ASIC and FPGA will be reviewed. Computer-aided design tools are used to produce working integrated circuit designs. Students will also learn to use a hardware descriptive language (VHDL) in the digital design process. This course has mandatory laboratory sessions every week.
Prerequisite: ETE 411. 3 Credits. 3 credits.

CSE 411: Advanced Database

Physical data organization, design, and administration including schema, normalization, and relational algebra, database implementation, CODASYL implementation, and network database, distributed database, database machines, DATA LOG and intelligent databases.
Prerequisite: CSE 311. 3 credits.

CSE 413: Digital Microprocessor Design Laboratory

Design of digital systems with integrated circuits and MSI/LSI and microprocessor interfacing.
Prerequisite: CSE 331. 2 Credits.

 CSE 414: Advanced VLSI Chip Design Methodology and Optimization 

This course covers a rapidly developing high-tech VLSI chip design area and a flourishing field within Electronic Design Automation (EDA) tools. The course discusses advanced VLSI chip design methodology which includes physical design, system partitioning, FPGA partitioning, partitioning methods, estimating ASIC size, floorplanning, placement, physical design flow, global routing, detailed routing, special routing, circuit extraction and DRC, scan-chain design, clock-tree routing, and signal-net routing. The course introduces the systematic top-down design methodology to design complex digital hardware such as FPGA, EPLD, and ASIC.  Verilog Hardware Description Language and sophisticated EDA tools are utilized to elaborate on the material covered throughout the course. Course projects of this course will lead to open research topics.
Prerequisite: CSE 413. 3 Credits.

 CSE 415: VLSI Chip Testing

This course examines the theory and practice of fault analysis, test generation, and design for testability for digital circuits and systems. The topics to be covered include circuit and system modeling, fault sources and models, fault simulation methods, test generation algorithms for combinational and sequential circuits including PODEM, testability; testability measures; design-for-testability techniques; built-in- self-testing (BIST), processor and memory testing, design verification, quantum computing circuits. Current research issues, including topics suitable for MS or PhD research, will be discussed. A term project is also part of this course. The term project will be tailored to individual student interests and involve one of them: (a) Programming a test generation or simulation algorithm covered in the course. (b) In-depth literature survey of some advanced topics. (c) Individual research into some topic or problem (d) Experimental testing of VLSI chips. (e) Experiments with commercial test and simulation CAD hardware or software. All projects will require a written report and brief oral presentation to the class at the end of the term.
Prerequisite: CSE 413.  3 credits

 CSE 416: Digital Integrated Circuit Technology

This course is concerned with integrated circuit fabrication, relationships between processing choices, and device performance characteristics. Also discussed will be long-channel device I-V review, short-channel MOSFET I-V characters tics including velocity saturation, mobility degradation, hot carriers, gate depletion, MOS device scaling strategies, silicon-on-insulator, lightly-doped drain structures, on-chip interconnect parasitics and performance, major CMOS scaling challenges and finally, process and circuit simulation.
Prerequisite: CSE351. 3 Credits.

 CSE 417: Logic Circuit Synthesis and Optimization

This course is indeed to give an understanding of the theory and practical algorithms used in the synthesis of digital circuits. In the introductory logic course (CSE 231, ETE 212), students learn how to construct digital systems to perform specific tasks. This course is concerned with optimizing these systems in terms of various metrics, such as circuit size or speed. Theoretical foundations are explored side-by-side with algorithms implementing the various optimization methods.
Prerequisite: CSE331. 3 Credits.

 CSE 418: Computer Graphics

Topics include software, hardware, and mechanical tools for the representation, manipulation, and display of topological and two- and three-dimensional objects; applications of these tools to specific problems.  Prerequisite: CSE 225, and CSE 232.  3 credits.

 CSE 419: Data MiningDefinition of Data Mining, Data Mining Functionalities, Major Issues in Data Mining, Data Warehouse, Data Warehouse Implementation, Data Processing and Data Cleaning, Data Mining Primitives, Languages and Systems Architecture, Mining Association Rules in Large Databases: The Apriori Algorithm, Classification and Prediction: Preparing the Data for Classification, Classification by Decision Tree Induction, Bayesian Classification, Other Classification Methods, Clustering Analysis, Mining Complex Types of Data, Applications and Trends in Data Mining.
Prerequisite: CSE 311. 3 Credits.

 CSE 421: Advanced Enterprise Java

This is a more advanced object-oriented programming course for computer science majors and other students with deep knowledge and interest in this subject. This course introduces an in-depth study of the Java Virtual Machine (JVM), client-server application architecture with Java project life cycle. This course includes multi-threaded programming, thread pool, deep cloning, java security and Java database connectivity using JDBC. It also introduces current enterprise java technology like distributed computing protocols and APIs using RMI and CORBA technology; Server frameworks and architectures using Java Servlets and Java Beans. This course includes several projects to relate students in extensive programming.
Prerequisite: CSE 135 and CSE 338. 3 Credits.

CSE 422: Principles of Digital Communication

System-level analysis and design for digital and analog and communications systems: analog-to-digital conversion, digital and analog modulation types, PC and delta modulations, matched filters, receiver design, link budgets, signal to noise ratios and bit error rates in noisy channels.
Prerequisite: ETE 321. 3 credits.

 CSE 423: Advanced Operating Systems

Studies the design and implementation of operating systems. Reviews algorithms for concurrent processes, deadlock resolution, process management, performance evaluation, and monitoring. Compares a variety of solutions to major problems in the field. Advanced topics like interprocess communication and disk drivers will also be discussed.
Prerequisite: CSE 323.  3 credits

CSE 424: Object-Oriented Software Development

Survey of the paradigm including analysis, design, and implementation. Booch methodology, Rumbaugh methodology, Van-Den Goor meta-methodology, Unified methodology. Comparison of C++, SMALLTALK and Eiffel in implementing object-oriented concepts.
Prerequisite: CSE 225 and consent of the instructor. 3 Credits.

 CSE 425: Advanced Data Structures

Examines graphs and sub-graphs, trees, connectivity, Euler tours and Hamilton cycles, matchings, edge colorings, independent sets and cliques, vertex colorings, planar graphs, directed graphs, networks, the cycles space, and bond space.
Prerequisite: CSE 225. 3 credits.

CSE 426: Advanced Compiler

In-depth study of Compiler technology. Syntax directed translation, type checking, run time environments, intermediate code generation, code optimization, the survey of existing compilers including EQN, Pascal, C, FORTRAN H, Bliss/11, Modula 2.
Prerequisite: CSE 326. 3 credits.

 CSE 427: Advanced Software Engineering

An in-depth study of software nature and its qualities, software engineering principles with emphasis on rigor and formality and anticipation of change. Software design, specification, verification, production process, management of software engineering, software engineering tools, and environments. Case studies.
Prerequisite: CSE 327. 3 credits.

CSE 428: Software Project Management

This course provides insight into software project management in every aspect. This course elaborately describes the different life cycle models. Topics include software project initiation, software project scope management; cost estimation, software project planning, organization. It also includes the time and resource management for assuring the quality of the software. This course also asses the risk of developing the software and provide a plan for mitigating the risk.
Prerequisite: CSE 327. 3 Credits.

CSE 429: Software Architecture

This course focuses on choosing the right software systems architecture for complex software systems. A proper architecture for software helps to meet organizational business goals. The topics include an overview of software systems architecture, architectural patterns, reference models and reference architectures, system quality attributes (availability, scalability, performance, modifiability, security, testability, usability), designing and documenting the system architecture, analyzing architectures, software product lines, and component and service-oriented architectures. A substantial amount of architecture issues will help to choose a suitable architectural pattern for software. That eventually helps to build, maintain and extend the system.
Prerequisite: CSE 327. 3 Credits.

 CSE 432: Computer Interfacing and Peripherals

Peripherals and Interfacing: Design and operation of interface between computer and outside world, Sensors, transducers and signal conditioning circuits, interfacing memory and I/O devices such as monitors, printers, disc drives, optical displays, some special purpose interface cards, stepper motors and peripheral devices, IEEE-488, RS-232 and other buses, Study and applications of peripheral chips including 8212, 8155, 8255 and 8251. Character peripherals: Keyboards, printers (dot matrix, laser, inkjet), VDUS, Computer graphics hardware, plotters, disc-drivers, CD-ROM.
Prerequisite: CSE 331. 3 Credits.

 CSE 433: Computer Architecture

Computer system analysis and design; performance and cost, instruction set architecture, processor implementation techniques, pipelining, vector processors, memory-hierarchy design, input/output.
Prerequisite: CSE 331. 3 credits.

 CSE 434: Feedback Control System

System Modeling: Modeling in the frequency domain, Modeling in the time domain. Time response, Reduction of Multiple Subsystems, Stability, Steady State Errors, Root Locus Techniques, Design via root locus, Frequency response techniques, Design via frequency response, Design via state space. Design of feedback control system: Cascade compensation networks, System design using Integration networks, System design on the Bode diagram using analytical and computational methods, design for a deadbeat response, Rotor Winder control system. Elements of PID controllers. Digital control system: Sampled data system, Closed-loop feedback sampled-data systems, closed-loop systems with Digital Computer Compensation. Microcomputer-based Control Systems. 3 Credits.

 CSE 435: Introduction to VLSI Design

Complementary Metal-Oxide Semiconductor (CMOS) technology and theory; CMOS circuit and logic design; layout rules and techniques; circuit characterization and performance estimation; CMOS subsystem design; Very-Large-Scale Integrated (VLSI) systems design methods; VLSI Computer-Aided Design (CAD) tools; laboratory experience in custom VLSI chip design on workstations using concepts of hierarchy; final project involving specification, design and evaluation of a VLSI chip or VLSI CAD program; and written report and oral presentation on the final project.
Prerequisite: CSE 232.  3 credits.

 CSE 436: Industrial Electronics and Instrumentation

Power Electronics:  Review of power semiconductor devices, relative advantages, and limitations, triggering and snubber circuits, device protection, series and parallel operations, switching into resistive, inductive and machine loads, Rectification, inversion, chopper circuits. Polyphase: rectifiers, ignitrons, thyratrons, and mercury rectifiers. Semiconductors power devices: Thyristors, SCRs TRIAC & DIACs and their applications for control of electrical powers. Amplifiers for Industrial Electronics Servoamplifier and Magnetic amplifiers. Electronic control of Motors & Generators: Servo-mechanism, control elements & circuits for position control, Instrumentation for control of temperature and other non-electrical quantities, high-frequency heating in Induction and Dielectric heating. Elements of the microprocessor-based control system for industries. Instrumentation: Oscilloscopes, Signal Generators, Frequency Analyzers, Logic Analyzers. 3 Credits.

 CSE 437: Fundamentals of Telecommunications

The objective of this course is to develop a fundamental understanding of the communication systems. The students will be introduced to the concept of Fourier transform, probability density function, and random process. Digital modulation techniques will be emphasized. Examples of practical mobile systems employed in Bangladesh like the GSM and CDMA based IS-95 will be presented.
Prerequisite: CSE 338 and MAT 361. 3 Credits.

 CSE 438: Networks and Distributed Systems

Introduction to concepts of transport connections and sessions; design issues in transport layer and session layer protocols, terminal and file transfer protocols, message handling protocols, etc.; methods to ensure network security and privacy; algorithms for deadlock detection, concurrency control and synchronization in distributed systems; models of distributed computation; networking facilities and resource control and management methods in network and distributed operating systems.
Prerequisite: CSE 323 and CSE 338.  3 credits.

CSE 439: Computer Networks II

Computer Networks is a graduate course that introduces fundamental concepts in the design and implementation of computer communication networks and their protocols. Topics include layered network architectures, applications, transport and routing, IP version 6, mobile IP, multicasting, session initiation protocol, quality of service, network security, network management, and TCP/IP in wireless networks. An emphasis will be placed on the protocols used on the Internet.
Prerequisite: CSE 338. 3 credits

 CSE 441: Symbolic Logic

Propositional logic; First-order logic: Prenex normal forms; Herbrand’s theorem: Skolem standard forms; Resolution principle: Unification algorithm; Semantic resolution and Lock resolution; Linear resolution; Equality relation; Proof procedures: Prawitz procedure, V-resolution procedure, Splitting rule of Davis and Putnam; Program analysis; Deductive question answering, Problem solving, and Program synthesis.
Prerequisite: CSE 348. 3 credits.

 CSE 440: Artificial Intelligence

An introductory description of the major subjects and directions of research in artificial intelligence; topics include all languages (LISP and PROLOG), basic problem-solving techniques, knowledge representation, and computer inference, machine learning, natural language understanding, computer vision, robotics, and societal impacts.
Prerequisite: CSE 225 and CSE 232; or consent of instructor.  3 credits.

 CSE 445: Machine Learning

Introduction to Machine Learning; Classification of learning: Unsupervised and supervised learning, Connectionist learning, Reinforcement learning, Machine discovery; Supervised learning: Information-theoretic decision tree learner, Best current hypothesis search, Candidate elimination (version space) algorithm, Learning in the first-order Horn clause representation, Inductive logic programming, Application; Unsupervised learning: Hierarchical clustering, Category utility, Incremental and nonincremental algorithms for hierarchical clustering, Applications; Connectionist learning: Introduction to Neural Network, Feedforward and recurrent network, Perceptron, Multilayer feedforward network, Backpropagation algorithm for training a feedforward network, Applications; Genetic Algorithms: Genetic operators, Fitness function, Genetic algorithm in supervised learning framework, Applications.
Prerequisite: CSE 348. 3 credits.

 CSE 446: Introduction to Bioinformatics

Bioinformatics and the Internet, Overview of Molecular Biology and Biological Chemistry,The Genetic Material, Gene Structure and Information Content,Protein Structure and Function, Bioinformatics tools,The NCBI Data Model,The GenBank sequence database,DNA sequencing,Editing DNA sequences,Submitting DNA sequences to the Database,Sequence Retrieval from Biological Databases ( NCBI, EMBL, ExPasy),Sequence similarity searches ( BLAST, FASTA, EMBL databases),Sequence Alignment ( CLUSTAL X, Genedoc, Bioedit) Phylogenetic Analysis.
Prerequisite: 60 credits completed. 3 credits.

CSE 447: Functional Bioinformatics

Overview of Bioinformatics ,Molecular Biology of the Gene ,Gene Structure and Function,Introduction to Human Genome Project NCBI Resources and Sequence Retrieval ,Alignment and Phylogenetic Analysis,Data Visualization:Sequence Visualization, Structure Visualization, User Interface,Data Mining,Text Mining,Protein and RNA structure prediction,Introduction to drug discovery,Automating Data Analysis with Perl.
Prerequisite: 60 credits completed. 3 credits.

 CSE 448: Neural Networks

Elementary Neurophysiology – Biological Neurons to Artificial  Neurons. Adaline and the Medaline. Perceptron. Backpropagation  Network. Bidirectional Associative Memories. Hopfield Networks. Counterpropagation  Networks. Kohonen’s Self Organizing  Maps. Adaptive Resonance Theory. ART1 – ART2 – ART3. Boltzmann Machines, Spatiotemporal Pattern Classifier, Neural Network models: Neocognitron, Application of Neural Networks to various disciplines.
Prerequisite: CSE 348 and consent of the instructor. 3 credits.

CSE 453: Verilog HDL: Modeling, Simulation and Synthesis

This course is designed to cover a global understanding of Verilog HDL- based design.  Topics treated include Event-Driven Simulation, hardware modeling, and simulation in Verilog, data types and logic system in Verilog, Structural and behavioral modeling, user-defined tasks and functions in Verilog and interactive debugging in Verilog using software tools.
Prerequisite: CSE 231 / ETE 212.  3 credits.

CSE 456: Petri Nets

Definition and type of Petri Nets, terms, and notations marking, transition firing rules, examples of modeling using Petri Nets, Siphons and Traps, Liveness and Safeness, Behavioral properties, Deadlock, Structural properties.
Prerequisite: CSE 273. 3 Credits.

CSE 457: Numerical Analysis

A Comprehensive Introduction. Introduction to numerical analysis that includes linear system solvers, optimization techniques, interpolation and approximation of functions, solving systems of nonlinear equations, eigenvalue problems, least squares, quadratic as well as numerical handling of ordinary and partial differential equations.
Prerequisite: MAT 361 or consent of instructor.  3 credits.

 CSE 463: Integrated Circuit Logic Design

IC fabrication techniques; survey of different IC logic families; logic design procedures for each IC logic family; design of masks; logic design of digital networks with IC packages; use of ROMs as substitutes for gates; computer-aided design; and comparison of different implementation approaches based on different IC logic families, from the viewpoints of economy, performance and design time.
Prerequisite:  CSE 232, or consent of instructor.  3 credits.

 CSE 465: Pattern Recognition

Introduction: Basic concepts, Design concepts, Examples; Decision functions: Linear decision functions, Generalized decision functions; Pattern classification by distance functions: Minimum distance pattern classification, Cluster seeking; Pattern classification by likelihood functions: Bayes classifier; Structural pattern representation: Grammars for pattern representation, Picture description language and grammars, Stochastic grammars; Structural pattern recognition: String to string distance; Matching other structures: Relational structures, Graph matching, Matching by relaxation, Random graph.
Prerequisite: CSE 373. 3 credits.

 CSE 467: Image Processing

Introduction; Point operations; Histograms; Spatial operations; Affine transformations; Image rectification; Interpolation and other transformations; Contrast enhancement; Convolution operation, Magnification, and Zooming; Fourier transform; Edge detection; Boundary extraction and representation; Mathematical morphology.
Prerequisite: CSE 373. 3 credits.

 CSE 470: Theory of Fuzzy Systems

Introduction to Neuro-Fuzzy and Soft Computing, Soft Computing and AI, Neural Networks, Fuzzy Set Theory, MF Formulation and Parameterization, Fuzzy Union, Intersection, and Complement, Fuzzy Rules and Fuzzy Reasoning, Fuzzy Inference Systems, Regression and Optimization, Supervised Learning Neural Networks, Neuro-Fuzzy Modeling, ANFIS, Neuro-Fuzzy Control, ANFIS Applications.
Prerequisite: CSE 348. 3 credits.

CSE 472: Advanced Algorithms

Principles underlying the design and analysis of efficient algorithms. Topics to be covered include divide-and-conquer algorithms, graph algorithms, matroids, and greedy algorithms, randomized algorithms, NP-completeness, approximation algorithms, linear programming.
Prerequisite: CSE 373 3 credits.

 CSE 473: Parallel Processing

Von Neumann Model, Need of Parallel Processing, Flynn’s Classifications. Shared Memory Models, Network-Based Models, Simulations. Definitions of Parallel Algorithms. Measures of Complexities, Algorithms for non-numerical and numerical problems on various parallel models such as Finding  Summation. Finding Minimum, Maximum, Sorting, Searching, Selection, Graph Theoretical Problems, Combinatorial Problems, Matrix Transpose, Matrix Multiplication. A solution of simultaneous Linear Equations etc.
Prerequisite: CSE 373. 3 credits.

CSE 474: Computational Complexity

Basic  Concepts – Problem: Definition, encoding, instance, size, decision & optimization problems. Turing Machines – Deterministic and Nondeterministic polynomial Reducibility. Classification of Problems – P, NP, NP-complete, NP-hard. Examples of similarly defined easy and difficult problems. Cook’s Theorem, several important NP-complete problems, techniques of proving a problem, NP-complete restriction, component design, local replacement problems of intermediate complexity, problems beyond NP.
Prerequisite: CSE 373. 3 credits.

 CSE 475: Automata and Formal Languages

Finite automata and regular languages, pushdown automata, and context-free languages;  Turing machines and recursively enumerable sets;  linear-bounded automata and context-sensitive languages; computability and the halting problem; undecidable problems; recursive functions; chomsky hierarchy; computational complexity.
Prerequisite: CSE 373 and MAT 361 or consent of instructor.  3 credits.

 CSE 478: Graph Theory

An introduction to the theory of graphs: fundamental concepts and basic definitions, trees, spanning trees in graphs, distance in graphs, Eulerian graphs, digraphs, matchings and factors, cuts and connectivity, k-connected graphs, Menger’s theorem, network flow problems, graph coloring: vertex coloring and edge coloring, line graphs, Hamiltonian cycles, plannar graphs. Perfect graphs.
Prerequisite:  CSE 373. 3 Credits.

 CSE 482: Internet and Web Technology

The course develops an in-depth knowledge of the concepts, principles and implementation techniques related to the Internet and web technology. Details about the Internet, Intranet, Extranet, and e-commerce will be covered. Topics include Web server management, threats, the security of client and server, network security like firewall, SSL, etc., authentication and authorization, legislation, privacy and IP act, electronic payment, e-business, search engine, Internet protocols like TCP/IP, SGML, XML. Design and development of Web applications using Java Applets, ASP, JavaScript, CGI, and other Web tools are discussed.
Prerequisite: CSE 338. 3 credits.

 CSE 485: Digital Signal Processing

The purpose of this course is to give the students of Computer Science/Engineering the basic background in Digital Signal Processing. This course introduces how a computer (a general-purpose or special-purpose DSP chip) could be used to solve Signal Processing problems digitally. The topics include an introduction to discrete signal and systems, difference equations, discrete convolution, Z-transform and Fast Fourier transform techniques.
Prerequisite: CSE 331. 3 credits.

 CSE 487: Microprocessor Based System Design

Overview of Microcomputers Structure and Operation. Computers, Microcomputers, and Microprocessor; an introduction: The 8086 Microprocessors family – overview, 8086 internal structure. 8086 family assembly language programming: Writing programs to use with an assembler, Assembly language program development tools. System development: Using a logic analyzer, 8086 interrupts and their uses and system operations, Priority interrupts controllers. Digital interfacing: Programmable parallel ports and handshaking, Interfacing a Microprocessor to various Input/Output devices, Interfacing Microcomputer ports to high-power devices e.g. rotating systems, motors, Industrial production process. Analog interfacing and industrial control: Sensors, transducers, A/D and D/A converters, Microcomputer based industrial process control, robotics, and embedded control. Advanced digital techniques: DMA data transfer, Concepts of Math Coprocessor, Computer-based design and development tools, GPIB, IEE-488, and RS- 232 bus.
Prerequisite: CSE 331. 3 Credits.

 CSE 497: Special Topics

Availability of a faculty to teach a course on the current topic of interests not listed in the curriculum. (as an example: CSE 497 Quantum Computing, CSE 497 Optical Computing, etc.) Variable Credits.

 CSE 490: Internship

The course involves 2 credits of research and 1 credit of internship. Prerequisite: 100 credits completed. 3 credits.

CSE 499: Project

Prerequisite: 100 credits completed. 3 credits.