History
B.Sc. in Computer Science (CSC)
Admission Requirements
- Minimum GPA 3.5 both in SSC and HSC
- O'Level in minimum 5 subjects with a GPA 2.50 and A'Level in 2 subjects with a minimum GPA 2.00
- International Baccalaureate or High School Diploma
- Other 12 years equivalent degree (must have the equivalence certificate from Ministry of Education)
- Engineering Students must have Math and Physics in their HSC with at least B grade.
Scholarships Info
Starting from the admission, IUB offers a wide-range of scholarships and financial aid to its students.- Full Tuition Waiver is granted to students who have secured a GPA of 5.0 (without 4th subject) on a scale of 5.0 in both SSC & HSC exam or Students with 3 A's in A' Levels and 7 A's in O' Levels.
- Financial aid is granted to students based on performance and financial need.
- 50% financial aid for siblings and spouse.
- On-campus employment program is also available.
Tuition Fees & Other Charges
Application fee | Tk. 1000 |
Admission Fees | Tk.17,500 (Once in 4 year) |
Library, Laboratory & Student Activities fees | Tk.6,000 |
Regular students | Tk.5,500 (per credit) |
Credit Transfer Facility
- B.A., B.Sc., B.S.S., B.Com (pass) graduates are also eligible for admission. These students may apply to transfer their credits in relevant courses.
- Syllabi of IUB are designed to suit credit transfers and postgraduate studies abroad.
BSc. In Computer Science
In order to obtain a B.Sc. in Computer Science student must complete a minimum of 134 credits of coursework. This includes 42 credits of Foundation studies. The minimum requirement for the major is 77 credit hours including 6 credit hours for internship / senior project.
Major in Computer Science | 134 | |
Foundation courses | 42 | |
Communication Skills | 9 | |
ENG 101 | Listening and Speaking Skills | 3 |
ENG 102 | English Reading Skills | 3 |
ENG 105 | Business English | 3 |
ENG 106 | Advanced English Skills | 3 |
ENG 202 | Introduction to English Literature | 3 |
Computer Skills | 4 | |
CSC 101 | Introduction to Computer Programming | 3 |
CSC 101L | Lab for CSC101 | 1 |
Numeracy | 6 | |
MAT 104 | Calculus and analytical geometry | 3 |
MAT 212 | Probability & Statistics for Science & Engineering | 3 |
Natural Sciences | 8 | |
PHY 101 | University Physics-I | 3 |
PHY 101L | University Physics-I Lab | 1 |
PHY 102 | University Physics-II | 3 |
PHY 102L | University Physics-II Lab | 1 |
Social Sciences | 6 | |
Humanities | 6 | |
Live-in Field Experience | 3 | |
Major | 77 | |
Core Courses | 59 | |
CSC 201 | Discrete Mathematics | 3 |
CSC 203 | Data Structure | 3 |
CSC 203L | Data Structure Lab | 1 |
CSC 204 | Computer Hardware & Digital Logic | 3 |
CSC 204L | Labwork based on CSC 204 | 1 |
CSC 212 | Microprocessor, Interfacing & Assembly Language | 3 |
CSC 212L | Labwork based on CSC 212 | 1 |
CSC 301 | Finite Automata and Computability | 3 |
CSC 305 | Object Oriented Programming | 3 |
CSC 305L | Labwork based on CSC 305 | 1 |
CSC 306 | Algorithms | 3 |
CSC 306L | Labwork based on CSC 306 | 1 |
CSC 311 | Computer Organization & Architecture | 3 |
CSC 317 | Numerical Methods | 3 |
CSC 317L | Labwork based on CSC317 | 1 |
CSC 401 | Database Management | 3 |
CSC 401L | Labwork based on CSC 401 | 1 |
CSC 405 | Systems Analysis and Design | 3 |
CSC 411 | Compiler Construction | 3 |
CSC 413 | Design of Operating System | 3 |
CSC 430 | Data Communication & Computer Networks | 3 |
CSC 430L | Labwork based on CSC 430 | 1 |
CSC 455 | Web Application & Internet | 3 |
MAT 203 | Linear Algebra- vectors and matrices | 3 |
MAT 301 | Ordinary Differential Equation | 3 |
Optional Courses (Any four) | 12 | |
CSC 330 | Data Communication | 3 |
CSC 403 | Network Management | 3 |
CSC 404 | Embedded Systems | 3 |
CSC 408 | Advanced Computer Network | 3 |
CSC 409 | Optical Fiber Communication | 3 |
CSC 412 | Wireless Networking & Mobile Communication | 3 |
CSC 414 | Digital System Design | 3 |
CSC 416 | Distributed Database Systems | 3 |
CSC 417 | Data Mining and Warehouse | 3 |
CSC 418 | Database Systems Implementation | 3 |
CSC 419 | Advanced Database Management Systems | 3 |
CSC 420 | Image Processing | 3 |
CSC 421 | Machine learning | 3 |
CSC 422 | Pattern Recognition | 3 |
CSC 423 | Theory of Fuzzy Systems | 3 |
CSC 424 | Neural Networks | 3 |
CSC 425 | Artificial Intelligence | 3 |
CSC 426 | Introduction to Robotics | 3 |
CSC 431 | Advanced Object Oriented Programming | 3 |
CSC 434 | Advance Programming in UNIX | 3 |
CSC 435 | Computer Graphics | 3 |
CSC 437 | Theory of Computation & Automata | 3 |
CSC 440 | Computer Simulation and Modeling | 3 |
CSC 441 | Instrumentation & measurements | 3 |
CSC 443 | Digital Signal Processing | 3 |
CSC 444 | Digital Electronics and Pulse Techniques | 3 |
CSC 445 | Software Engineering | 3 |
CSC 447 | Computer Peripherals & Interfacing | 3 |
CSC 449 | Fault Tolerant System | 3 |
CSC 450 | Cryptography and Network Security | 3 |
CSC 452 | Software Marketing | 3 |
CSC 453 | Software Requirement Engineering | 3 |
CSC 454 | Software Engineering Process Management | 3 |
CSC 456 | Business Process Reengineering | 3 |
CSC 457 | Project Management | 3 |
CSC 458 | Software Quality and Testing | 3 |
CSC 459 | Software Architecture and Component-Based Design | 3 |
CSC 460 | Multimedia Systems | 3 |
CSC 461 | Advance topics for Application Development | 3 |
CSC 462 | Entrepreneurship Development | 3 |
CSC 463 | IT Forensic | 3 |
CSC 465 | E-commerce and Web Database | 3 |
CSC 470 | Introduction to Parallel Programming | 3 |
CSC 475 | VLSI Design & Testing | 3 |
CSC 480 | Computer Vision | 3 |
CSC 485 | Telecommunication Engineering | 3 |
CSC 490 | Special Topics in Computer Science | 3 |
MAT 401 | Graph Theories | 3 |
MAT 403 | Introduction to Mathematical Modeling | 3 |
MAT 405 | Optimisation Techniques | 3 |
MAT 420 | Computational Geometry | 3 |
MAT 430 | Introduction to Discrete Dynamical Systems | 3 |
Internship Program or Senior Project | 6 | |
CSC 4** | Any Optional Course | 3 |
CSC 498 | Senior project | 6 |
CSC 499 | Internship Program | 3 |
Minor/Specialization | 15 | |
Minor - Big Data & Information Retrieval | ||
CSE 415 | Information Retreival & Web Search | 3 |
CSE 416 | Distributed Database Systems | 3 |
CSE 417 | Data Mining and Warehouse | 3 |
CSE 421 | Machine Learning | 3 |
CSE 471 | Introduction to Informatics | 3 |
Minor - Mechatronics & Robotics | ||
CSC 902 | Advanced Robotics** | 3 |
CSC 903 | Introduction to Control System** | 3 |
CSE 420 | Image Processing | 3 |
CSE 424 | Neural Networks | 3 |
CSE 426 | Introduction to Robotics | 3 |
MINOR IN COMPUTER SCIENCE
There are two options of computer science minor. The first variant is oriented on hardware and the second variant concentrates on development of programming skill. Students must complete the prerequisites of the courses. Students must complete minimum 15 (fifteen) credits to complete minor in Computer Science.
VARIANT 1:
CSC204+L, CSC214, CSC 212+L, and CSC316+L.
VARIANT 2:
CSC203+L, CSC211, CSC213+L and CSC303+L.
Four year Plan
Semester 01 | 13 | Semester 02 | 14 | Semester 03 | 13 | Year 01 | ||||
ENG101 | 3 | CSC101+L | 4 | CSC204+L | 4 | Total Cr | 40 | |||
H/S-1 | 3 | ENG102 | 3 | ENG105 | 3 | |||||
MAT104 | 3 | H/S-2 | 3 | H/S-3 | 3 | |||||
PHY101+L | 4 | PHY102+L | 4 | MAT212 | 3 | |||||
Semester 04 | 13 | Semester 05 | 14 | Semester 06 | 13 | Year 02 | ||||
CSC201 | 3 | CSC305+L | 4 | CSC306+L | 4 | Total Cr | 40 | |||
CSC203+L | 4 | CSC212+L | 4 | Minor-1 | 3 | LFE | 3 | |||
CSC311 | 3 | CSC301 | 3 | Minor-2 | 3 | |||||
H/S-4 | 3 | MAT 203 | 3 | Optional-1 | 3 | |||||
Semester 07 | 13 | Semester 08 | 12 | Semester 09 | 13 | Year 03 | ||||
CSC401+L | 4 | CSC405 | 3 | CSC413 | 3 | Total Cr | 38 | |||
MAT301 | 3 | CSC455 | 3 | CSC430+L | 4 | |||||
Minor-3 | 3 | CSC411 | 3 | Optional-3 | 3 | |||||
Optional-2 | 3 | Minor-4 | 3 | Minor-5 | 3 | |||||
Semester 10 | 13 | Year 04 | ||||||||
CSC317+L | 4 | Total Cr | 13 | |||||||
CSC498/499 | 6 | |||||||||
Optional-4 | 3 | |||||||||
Total Credits | 134 |
CSC101 Introduction to Computer Programming 3 credits
Introduction to computer program using a high level programming language (using object oriented approach). Topics to be covered are Identifiers; Data types; Variable; Constants; Different operators; Basic Input Output; Control structures i.e., Conditional statements, Loops; Array; Functions; String. Primary emphasis is given to problem solving approach; Algorithm design and program development. Programming Language C++, Java.
Text Books:
- C++ How to Program by Deitel & Deitel.
- Beginning C++ the complete language by Ivor Horton.
CSC101L Labwork based on CSC101 1 credit
CSC201 Discrete Mathematics 3 credits
Proposition, first order logic, basic logical operations, truth tables, tautologies, contradictions, algebra of propositions, logical implications, logical equivalence, predicates, universal and existential quantifiers. Valid and invalid arguments. Proof of strategies (direct proofs, indirect proofs, proof by contradictions, proof by cases), mathematical induction. Review of set operations, Venn diagrams, basic identities on sets, Cartesian products. Basic definitions of relations, representation of relations, closures, equivalence relations, partial orderings. Basic definitions of functions, injective, surjective and bijective functions, inverse functions, composition of functions, recursively defined functions, countable and uncountable, sets, sequences and sums, recursively defined functions, matrices. Divisibility and modular arithmetic, greatest common divisors, Euclidean algorithm. Basics of counting, pigeonhole principle, permutations and combinations, generalized permutations and combinations, inclusion-exclusion, recurrence relations, solving recurrence relations, generating functions. Semigroups, monoid, groups, subgroups, cyclic groups, permutation groups, homomorphism and isomorphism of groups, rings and fields. Finite state machines, finite automata, languages and grammars. (Prerequisite: CSC 101)
Text book:
- Discrete Mathematics and its Applications by K. Rosen
CSC 203 Data Structure 3 credits
Elementary data structure: Elements of data representation and storage. Arrays and Linked Lists (singly linked list and doubly linked list). Abstract data types: Stack, Queue, Priority Queue. Comparative analysis of different implementations of ADTs (Array based and linked list based). BST (Binary Search tree), Heap. Efficient Priority Queue (Heap based). Complexity analysis of dictionary operations (Insertion/Deletion/search) on ADTs. Data structure as a facilitator of smart searching and sorting algorithms (Binary search, Heap sort). Graphs (Connectivity graph, Directed and Undirected graph). Balanced search tree: Red Black Tree. (Prerequisite: CSC 101, CSC201)
Text Books:
- Data Structures & Algorithms by Aho, Ullman, Hopcroft
- C++ plus Data Structure 5th edition by Nell Dale
- Data Structures and Their Algorithms by H. Lwis, L. Dennenberg
CSC203L Labwork based on CSC 203 1 credit
CSC 204 Introduction to Computer Hardware and Digital Logic 3 credits
Digital and analog systems. Number systems and codes; logic gates, Boolean algebra, arithmetic circuits, latches, register, counters, MSI logic circuits, flip-flops, A-D and D-A converters, IC logic families, memory devices, PLD, ASIC, FPGA. (Prerequisite: PHY 102)
Text Book:
- Digital Systems by Ronald J. Tocci
CSC 204L Labwork based on CSC 204 1 credit
CSC 212 Microprocessor, Interfacing and Assembly Language 3 credits
Organization of a computer. Introduction to 80X 86 families of microprocessors; Microprocessor Architecture, addressing mechanism, Instruction set, Instruction format. Assembly Language programming: assembling, linking, running and debugging programs. Controlling program development; Interrupt system. Microprocessor interfacing with memory and other devices. 8086 based system design, Programmable peripheral Interface: 8255A, 8251A, DMA controller 8237, Interrupt controller 8259A. Overview of advanced processors: 80386, Pentium and Multicore processors. (Prerequisite: CSC101, CSC 311)
Text Books:
- Microprocessors and Microcomputer-Based System Design, Mohamed Rafiquzzaman
- The Intel Microprocessors by Barry B. Brey
CSC 212L Labwork based on CSC 212 1 credit
CSC 301 Finite Automata and Computability 3 credits
Basic notions: string, prefix, suffix, substring, concatenation; Cardinality; Distinction between uncountable and countable infinite. Different proof techniques: Proof by construction, proof by contradiction, pigeon hole principle. Deterministic and non-deterministic Finite state automata; Regular language, regular expression. Equivalence of NFA and DFA. Pumping Lemma, non regular languages. Context free grammar (CFG) and Push down automata (PDA). Chomsky Normal form. Parsing. Turing machine. Universal Turing machine and Halting problem. Goedel numbering. Computability. P/NP. (Prerequisite: CSC 201)
Text Books:
- Elements of the Theory of Computation 2nd Edition. by H. Lewis, C. Papadimitriou
- Introduction to the Theory of Computation by M. Sipser
- Introduction to Automata Theory, languages & Computation 3rd Edition by J. Hopcroft, R. Motwani, J. Ullman
CSC 305 Object-oriented Programming 3 credits
Objects and classes; Constructors and destructor; Abstract Data Structures, Function chaining; Friend functions; Function and operator overloading; Composition and Inheritance; Dynamic polymorphism using virtual functions; Exception handling; Template functions and classes; Standard Template Library; Programming Languages C++/ Java/ C#. (Prerequisite: CSC 203)
Text Books:
- Ivor Horton's Beginning Visual C++ 2013, by Ivor Horton, Wrox Publication
- Ivor Horton's Beginning Java, Java 7, by Ivor Horton, Wrox Publication
CSC 305L Labwork based on CSC 305 1 credit
CSC 306 Algorithm 3 credits
Fundamentals of algorithms, Complexity analysis, Asymptotic notations (Theta, Big O, Omega). Different sorting algorithms: Bubble/Insertion(N^2); Recursive sorting algorithms: Merge, Quick, Heap (NlgN); Decision tree analysis: nlgn bound on comparison based sorting. Sorting in linear time: Counting/ Radix sort. Spanning trees. Greedy algorithms: Shortest path (Dijkstra), MST (Minimum spanning tree algorithms: Kruskal, Prim). Hashing. NP problems (TSP). (Prerequisite: CSC 203)
Text Books:
- Introduction to Algorithms 2nd Edition : Cormen, Lieserson, Rivest, Stein
- Algorithms 4th Edition: R. Sedgewick, K Wein
- Art of Computer Prgogramming Vol. 1 (Fundamental Algorithms): D. Knuth
CSC 311 Computer Organization and Architecture 3 credits
Computer system: computer structures, components, functions. Memory: cache memory mapping, internal memory, external memory. I/O devices: modules, programmed and interrupt driven I/O, DMA, I/O channels and processors. Interfaces, CSCtral processing unit: Computer arithmetic: hardware design algorithms. Instruction cycle, Instruction pipelining, control units design: Hardware and microprogrammed, parallel organizations, RISC, CISC, Multicore Processor organization. (Prerequisite: CSC 204)
Text Books:
- Computer Organization & Architecture: Design for performance by William Stallings
- Computer Architecture and Organization by John P. Hays
CSC 317 Numerical Methods 3 credits
Numbers and errors: Floating point number representation inside a computer; floating point computation; accuracy and precision; round-off errors and truncation errors; error propagation. Roots of equations: bracketing method; bisection method; false-position method; Newton–Raphson method. System of linear equations: Gaussian elimination; partial and complete pivoting; LU decomposition method; iterative techniques; tridiagonal and sparse systems. Interpolation: Newton's divided difference technique; Spline interpolation; Fourier approximation. Numerical integration: Rectangular and trapezoidal rule; Simpson's rule with equal and unequal segments; Spline quadrature; adaptive quadrature routines. Ordinary differential equation: Solution of first order differential equations; Euler method, Runge–Kutta method; adaptive Runge–Kutta method; general method for system of initial value problem.
Text Books:
- Numerical Methods for Engineers and Scientists by Joe D. Hoffman and Steven Frankel
- Numerical Methods Using Matlab by John H. Mathews and Kurtis K. Fink
CSC 317L Labwork for CSC 317 1 credit
CSC 330 Data Communication 3 credits
Data: representation, signal encoding, signal analysis; Data Transmission Channel: channel capacity, transmission line characteristics, Baseband and Broadband transmission; Transmission media: guided and unguided; Transmission networks; Transmission modulation techniques, modems and interfaces; Multiplexing techniques; Error handling; Switching techniques; Introduction to advanced data communication technologies and Internet.
Text Books:
- Data and Computer Communications by William Stallings
- Data Communication and Networking by Behrouz A. Forouzan
CSC 401 Database Management Systems 3 credits
Introduction to database and DBMS. Database development process, Database architecture; Database languages and Interfaces. E-R Model, Enhanced E-R model; Database Design Relational Data model, Integrity constraint, Transferring ERD to Relations; Introduction to normalization; Relational Algebra; Introduction to Structure Query Language; Programming with SQL and PL/SQL. Database security and administration. Object oriented data modeling; Distributed database. Specific database systems: Oracle. MS SQL Server. (Prerequisite CSC213, Senior Standing)
Text Books:
- Modern Database Management by Jeffrey A. Hoffer, Mary B. Prescott, Fred R. Mcfadden
- Database Management System by R. Ramakrishnan and J. Gehrke, 3rd Edition.
- An Introduction to Database System by C. J. Date
- Fundamentals of Database Systems by Ramez Elmasri, Shamkant B. Navathe
CSC 401L Labwork Based on CSC 401 1 credit
CSC 403 Network Management 3 credits
This course will introduce students to methods, techniques and tools for the management of telecommunication systems and computer networks with specific examples from Internet and the public switched telecommunication networks. It will introduce the fundamental models that are used In the Internet (SNMP), and the telecommunication networks (TMN). In addition it will look In detail at the QOS management of IP base communications networks, by examining the emerging IETF protocols associated with Inteserv and Diffserv architectures.
Text Books:
- Network Management by William Stallings
- SNMP, SNMPv2, and RMON: practical network management by William Stallings
- Network Management, Principals and Practice by Mani Subramanian
CSC 404 Embedded Systems 3 credits
Provides a detailed overview of the important topics in the field. Typical examples of embedded systems; real time and safety critical issues; constraint driven design; systems integration; hardware-software partitioning and time-to-market considerations will be addressed. The subject will examine programmable devices, micro-controllers, application specific standard processors: importance of interrupts; re-configurable logic; system-on-a-chip; finite state machines; dataflow architectures; and distributed embedded systems. Software for embedded systems, including: programming languages and software architectures; interrupt servicing; multi-tasking; task communications and scheduling; verification: hardware-software co-simulation; and real-time operating systems will be introduced. (Prerequisite: CSC 212)
Text Books:
- Embedded Systems Architecture, Programming and Design by Raj Kamal
- The 8051 Microcontrollers & Embedded Systems by Mazidi McKinlay
CSC 405 System Analysis and Design 3 credits
Systems and models; Project management; Tools for determining system requirements; data flow diagrams; decision table and decision trees; Systems analysis: systems development life cycle models. Object oriented analysis: use-case modeling, Unified Modeling Language. Feasibility analysis, Structured analysis; systems prototyping; system design and implementation: application architecture, user interface design. Front-end and backend design; database design; software management and hardware selection. Case Studies of Information Systems. (Prerequisite CSC 401)
Text Books:
- Systems Analysis and Design Methods, Jeffrey Whitten, Lonnie Bentley
- Systems Analysis and Design, Kenneth E. Kendall, Julie E. Kendall.
CSC 408 Advanced Computer Network 3 credits
This subject provides insight into how to design, analyze and evaluate performance of the telecommunication networks. The subject identifies the benefits of high speed networks such as effectiveness, cost and customer control. It also describes the functions and characteristics of several services and technologies, including Personal Communication Services, Frame Relay, Asynchronous Transfer Mode (ATM), SONET/SDH and Switched Multimegabit Data Services; Protocol modeling and verification techniques; ATM LANs, multimedia communication; Analysis of protocols for data link, network and transport layers; Network design; Operating system views of communication. (Prerequisite: CSC 430)
Text Books:
- Data and Computer Communications by William Stallings
- Computer Networks by Andrew S. Tanenbaum
- Data Communication and Networking by Behrouz A. Forouzan
CSC 409 Optical Fiber Communication 3 credits
Wave propagation in single mode and multimode optical fibers. Step-index and graded index fibers. Gaussian approximation of fields in single mode fiber, spot size, equivalent step index of single mode fiber. Material, waveguide and internodes dispersions. Polarization and birefringent fibers. Ray theory, optimal profile, mode coupling in multimode fiber. Optical fiber measurement and characterization. Launching efficiencies in multimode and single mode fibers. (Prerequisite: CSC 430, Senior Standing)
Text Book:
- Fiber-Optic Communications Technology by Djafar K. Mynbaev and Lowell L. Scheiner
CSC 411 Compiler Construction 3 credits
Introduction to Preprocessor, compiler, Assembler and Linker; Fundamental of compilers and interpreters; Scanning theory and practices; Grammar and parsing; Symbol tables; Run-time environment and storage organization; Lexical analysis; Syntax analysis; Semantic analysis; Syntax directed translation and type checking; Intermediate code generation; Code optimization; Code generation; Constructing prototype compiler-modules for a hypothetical language. (Prerequisite: CSC 305)
Text Books:
- Compilers: Principles, Techniques, and Tools (2nd Edition) by Alfred V. Aho, Monica S. Lam, Ravi Sethi and Jeffrey D. Ullman
- Modern Compiler Design by Dick Grune, Kees van Reeuwijk, Henri E. Bal and Ceriel J.H. Jacobs
CSC 412 Wireless Networking and Mobile Computing 3 credits
Several topics related to wireless networking and mobile computing will be covered in this course. The topics include: cellular networks, multiple access protocols, channel assignment and resource allocation, mobility and location management, handoffs, routing, authentication, call admission control and QoS provisioning, network layer issues, wireless data networking (WAP, GSM, GPRS, CDMA, WCDMA), mobile ad hoc networks. (Prerequisite CSC 430)
Text Books:
- Principles of wireless networks, by Kaveh Pahlavan
- Wireless Personal Communications, Theodore S. Rappaport, Brian D. Woerner, Jeffrey H. Reed and William H. Tranter
CSC 413 Operating Systems 3 credits
Overview: Background, Computer-system structures, Operating system structures. Process Management: Processes and threads, Process synchronization, Deadlocks, CPU scheduling. Storage Management: Memory management, memory allocation, addressing, Swapping, paging, segmentation, Virtual memory organization, demand paging. File system, structure and access methods: File-system interface, File-system implementation, File protection. I/O Systems: I/O Systems, Mass-storage structure, Computer systems performance, network and security. Distributed Systems: Structure, file systems and coordination. (Prerequisite: CSC 305, CSC 311)
Text Books:
- Operating Systems Concepts, by Abraham Siberchatz, Peter Baer Galvin,Greg Gagne
- Operating Systems: Design and Implementation, Andrew S. Tanenbaum, Albert S. Woodhull
- Operating Systems: Internals And Design Principles, William Stallings
CSC 414 Digital System Design 3 credits
Design of memory subsystems using SRAM and DRAM; PLA design; Microoperations: Inter-register transfer, arithmetic operations, logic operations, shift operations; Design of various components of a computer: ALU, control unit (hardwired, microprogrammed); Computer bus standards; Design of a computer; Digital Systems in control, communication and instrumentation.
(Prerequisite: CSC 204, Senior Standing)
Text Books:
- Logic and Computer Design Fundamentals (4th Edition) by M. Morris Mano and Charles Kime
- Digital logic and Computer Design by M. Morris Mano
- Digital system design and microprocessors by Jhon P. Hays
CSC 416 Distributed Database Systems 3 credits
A detailed study of advanced topics related to relational database theory, query processing and optimisation, recovery techniques, concurrency control. Crash recovery. Distributed database systems: security and integrity. Other database paradigms such as deductive and object oriented issues. Heterogeneous databases. (Prerequisite: CSC 306, CSC 401)
Text Books:
- Principles of Distributed Database Systems by M. Tamer Özsu and Patrick Valduriez
- Distributed Database Management Systems: A Practical Approach by Saeed K. Rahimi and Frank S. Haug
- Distributed Systems: Principles and Paradigms (2nd Edition) by Andrew S. Tanenbaum and Maarten Van Steen
CSC 417 Data Mining and Warehouse 3 credits
Basic concept of data mining, issues and techniques. Data warehouse and OLTP technologies for data mining, Classification of data mining techniques and models, data pre-processing, data mining primitives, query languages and system architecture, characterization and comparison. Mining association rules in large database. Cluster analysis, multidimensional analysis and descriptive mining of complex data object. Data mining in distributed heterogeneous database systems. Data mining applications and future research issues. (Prerequisite: CSC 306, CSC 401)
Text Books:
- Data Mining: Concepts and Techniques, Third Edition by Jiawei Han, Micheline Kamber and Jian Pei
- Data Mining: Practical Machine Learning Tools and Techniques, Third Edition by Ian H. Witten, Eibe Frank and Mark A. Hall
- Introduction to Data Mining by Pang-Ning Tan, Michael Steinbach and Vipin Kumar
CSC 418 Database Systems Implementation 3 credits
Detailed examination of techniques used in the implementation of relational, object-oriented and distributed database systems. Topics are drawn from: query optimisation, transaction management, advanced file access methods, database performance tuning. (Prerequisite CSC 306, CSC 305, CSC 401)
Text Books:
- Database Systems: Design, Implementation, and Management by Carlos Coronel, Steven Morris and Peter Rob
- Database Management Systems, 3rd Edition by Raghu Ramakrishnan and Johannes Gehrke
- Fundamentals of Database Systems by Ramez Elmasri, Shamkant B. Navathe
CSC 419 Advanced Database Management Systems 3 credits
This course covers new database technology with emphasis on object orientation. The focus is mainly on the data modeling aspect. Other aspects e.g., transactions, Concurrency control, Recovery system, Database system architectures, Parallel databases, Distributed databases. (Prerequisite: CSC 401)
Text Books:
- Modern Database Management by Jeffrey A. Hoffer, Mary B. Prescott, Fred R. Mcfadden
- An Introduction to Database System by C. J. Date
- Fundamentals of Database Systems by Ramez Elmasri, Shamkant B. Navathe
CSC 420 Image Processing 3 credits
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 , Wavelets, compression. (Prerequisite: CSC 305, MAT 212, MAT303)
Text Books:
- Digital Image Processing (3rd Edition) Rafael C. Gonzalez, Richard E. Woods
- Fundamentals of Digital Image Processing by A. K. Jain., Prentice-Hall.
CSC 421 Machine learning 3 credits
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 non-incremental algorithms for hierarchical clustering, Applications; Connectionist learning: Introduction to Neural Network, Feed forward and recurrent network, Perception, Multilayer feed forward network, Back propagation algorithm for training a feed forward network, Applications; Genetic Algorithms: Genetic operators, Fitness function, Genetic algorithm in supervised learning framework, Applications. (Prerequisite: CSC 305, MAT 212, MAT 203)
Text Books:
- Introduction to Machine Learning by Ethem Alpaydin
- Pattern Recognition and Machine Learning, by Chris Bishop.
- Machine Learning: a Probabilistic Perspective, by Kevin Murphy.
CSC 422 Pattern Recognition 3 credits
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: CSC 305, MAT 212, MAT 203)
Text Books:
- Pattern Recognition and Machine Learning by Christopher M. Bishop
- Pattern Classification, by Richard O. Duda, Peter E. Hart, David G. Stork
CSC 423 Theory of Fuzzy Systems 3 credits
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: CSC 305, MAT 203, MAT 212)
Text Books:
- Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence, by J.S.R. Jang, C.T. Sun, and E. Mizutani, Prentice Hall
- Fuzzy Logic with Engineering Applications by Timothy J. Ross, published by John Wiley & Sons
- An Introduction to Fuzzy Logic for Practical Applications by T. Niimura
CSC 424 Neural Networks 3 credits
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. Boltzman Machines, Spatiotemporal Pattern Classifier, Neural Network models: Neocognitron, Application of Neural Networks to various disciplines. (Prerequisite: CSC 305, MAT 212, MAT 203)
Text Books:
- Neural Network Design by Martin T. Hagan
- Neural Networks by Simon Haykin, Prentice Hall
- Neural Networks for Pattern Recognition by C. Bishop, Oxford University Press.
CSC 425 Artificial Intelligence 3 credits
Principal ideas and development of artificial intelligence; intelligent agents; problem solving methods; search method; knowledge and reasoning; Logic; uncertainty; probabilistic reasoning; puzzle solvers; expert system and data processing; simulative and cognitive process; natural language analysis and synthesis; representation design and design knowledge. (Prerequisite CSC 306)
Text Books
- Artificial Intelligence: A Modern Approach, 3rd Edition, by Stuart Russell and Peter Norvig
- The elements of statistical learning by Hastie, Tibshirani, and Friedman.
CSC 426 Introduction to Robotics 3 credits
In addition to traditions rooted in mechanics and dynamics, geometrical reasoning, and artificial intelligence, the study of robot systems is growing to include many issues traditionally part of the computing sciences; distributed and adaptive control, architecture, software engineering, real-time systems, information processing and learning. In robotics, processing and its relationship to mechanical function are dependent on the target platform and the world in which it is situated. Designing an embedded computational system for sensory and motor processes requires that designers appreciate and understand all of these disciplines. This course is concerned with the design and analysis of adaptive, closed-loop physical systems. The focus will be sensory and motor systems that interpret and manipulate their environments. Toward this end, we will study mechanisms (kinematics and dynamics), actuators, sensors (with a focus on active vision), signal processing, associative memory, feedback control theory, supervised and unsupervised learning, and task planning. Interesting examples of integrated sensory, motor, and computational systems can be found in nature, so occasionally we will relate the subject matter to biological systems. Students will experiment with system identification and control, image processing, path planning, and learning on simulated platforms to reinforce the material presented in class. (Prerequisite: CSC 305, MAT 212, MAT 203)
Text Books:
- Introduction to AI Robotics, by Robin Murphy, MIT Press.
- The Robotics Primer by Maja J. Mataric, MIT Press.
- Introduction to Robotics: Mechanics and Control by John J. Craig
CSC 430 Data Communication & Computer Networks 3 credits
Basic concepts, categories of networks, network topologies, OSI model and TCP/IP protocol suite, TCP/IP applications, FTP, SMTP, HTTP and WWW, transport layer protocols, Internetworking devices, repeaters, bridges and routers, routing algorithms, IP addressing, sub netting, domain name systems, Network programming: Client-Server programming, socket programming, data link control protocols, LAN types and technology, MAC protocols, high speed LANs and Gigabit Ethernet, Wireless LANs, MAN, Circuit switching and Packet switching, ISDN, Frame Relay and ATM, SONET/SDH. Spectrum and bandwidth, Digital Transmission, encoding, modulations and demodulations, multiplexing: FDM, TDM and WDM, interfaces and modems, transmission media, fiber optic and wireless media, error detection techniques. (Prerequisite: CSC 305).
Text Books:
- Computer Networking, A top-down approach featuring the Internet, by James F. Kurose, Keith W. Ross
- Data Communication and Networking, by Behrouz A. Forouzan
- Data and Computer Communication by W. Stallings,
CSC 430L Labwork based on CSC 430 1 credit
CSC 431 Advanced Object Oriented Programming 3 credits
Object oriented programming and introduction to GUI application development; Application Programming Interfaces (API); .NET Framework and Java packages; Multithreaded Programming; GUI Programming tools. Applications of OOP in database, networking and website development; Object oriented analysis and design; OOP in dynamic Languages like XML; Programming Languages C++/ Java/ C#. (Prerequisite: CSC 305)
Text Books:
- Core Java, Volume II--Advanced Features (9th Edition) (Core Series) by Cay S. Horstmann and Gary Cornell
- Professional Visual Studio 2013 by Bruce Johnson
CSC 434 Advance Programming in UNIX 3 credits
Exploration of the Unix operating system, including its tools and utilities for program development, such as makefile, piping and redirection, shell scripts, regular expressions, and symbolic debuggers. In addition, this course explores advanced features of the C programming language, including various file processing, command-line and variable arguments, exception handling, and generic interfacing. Multiprocessing and Multithreading programming in Unix/Linux C. Thread synchronization. Network programming and TCP/IP socket programming. The course includes a compulsory 3 hour laboratory work each week. (Prerequisite: CSC 306, CSC 413)
Text Books:
- Advanced Programming in the UNIX Environment (3rd Edition) (Addison-Wesley Professional Computing Series) by W. Richard Stevens and Stephen A. Rago
- Unix Shell Programming (3rd Edition) by Stephen G. Kochan and Patrick Wood
CSC 435 Computer Graphics 3 credits
Output primitives and attributes; Line, circle and ellipse drawing algorithms; Two dimensional geometric transformation; Two dimensional viewing; Line, polygon, curve and text clipping algorithms; Parallel and perspective projections; Three dimensional object representation; Visualization of data sets; 3D transformations; Visible surface identification; Color models (RGB, YIQ, CMY, HSV); General computer animation, raster, keyframe; Graphics programming using OPENGL; Drawing 3D objects and sCSCes; Shading models (flat, smooth); Adding texture to faces; Adding shadows of objects; Fractals and self similarity; Random fractals; Ray tracing; Adding surface texture; Reflection and transparency. (Prerequisite: CSC 305, MAT 203)
Text Books:
- Interactive Computer Graphics: A Top - Down Approach with OpenGL, By Ed Ange.
- Fundamentals of Computer Graphics, 3rd Edition Peter Shirley and Steve Marschner, A.K. Peters, 2009.
- OpenGL Programming Guide (the red book)
CSC 437 Theory of Computation & Automata 3 credits
Basic notions: string, prefix, suffix, substring, concatenation; Cardinality; Distinction between uncountable and countable infinite. Different proof techniques: Proof by construction, proof by contradiction, pigeon hole principle. Deterministic and non-deterministic Finite state automata; Regular language, regular expression. Equivalence of NFA and DFA. Pumping Lemma, non regular languages. Context free grammar (CFG) and Push down automata (PDA). Chomsky Normal form. Parsing. Turing machine. Universal Turing machine and Halting problem. Goedel numbering. Computability. P/NP. (Prerequisite: CSC 201)
Text Books:
- Elements of the Theory of Computation 2nd Edition. by H. Lewis, C. Papadimitriou
- Introduction to the Theory of Computation by M. Sipser
- Introduction to Automata Theory, languages & Computation 3rd Edition by J. Hopcroft, R. Motwani, J. Ullman
CSC 440 Computer Simulation and Modeling 3 credits
Statistical background for simulation; system reliability; mathematical description of general dynamic systems; discrete event; discrete time and continuous time; queuing models; effects of queue disciplines; factors affecting queue systems; implementation and management of models; performance evaluation of models; simulation languages; SLAM. (Prerequisites CSC 305, MAT 212, MAT 203)
Text Books:
- Computer Simulation and Modelling by Francis Neelamkavil
- Simulation Modeling and Analysis (Third Edition), Law and Kelton, McGraw Hill
- Discrete-Event System Simulation (5th edition), Jerry Banks, John Carson, Barry L. Nelson, David Nicol, Prentice Hall
CSC 441 Instrumentation and measurements 3 credits
Single phase transformers; Principles of operation of DC, Induction and Stepper motors; Thyristor and microprocessor based speed control of motors. Introduction to amplifiers; Basic differential amplifiers; logarithmic amplifiers; Temperature compensation of Logarithmic amplifiers; Antilog amplifier; Chopper stabilized amplifier. Frequency and voltage measurements using digital techniques: Digital frequency meter, digital voltmeter. Recorders and display devices: Oscilloscope, Spectrum analyzers and logic analyzers. Data acquisition system and interfacing to microprocessor based systems. Transducers: terminology, types, principles and application of piezoelectric, photovoltaic, thermoelectric, variable reactance and opto-electronic transducers. Noise reduction in instrumentation. (Prerequisite: Senior Standing)
Text Book:
- Modern Electronic Instrumentation and Measurement Techniques by Albert D. Helfrick and William David Cooper
CSC 443 Digital Signal Processing 3 credits
The mathematics of signals and linear systems. Fourier and Laplace transforms, discrete Fourier and Z transforms. Analogue filters: approximation theory, Butterworth, Bessel, Chebyshev and elliptic filters. Filter impulse and frequency responses, stability, and sensitivity. Sampling continuous signals: the sampling theorem, reconstruction, and aliasing. The discrete Fourier transform (DFT) and the fast Fourier transform (FFT). Fundamentals of the design and realisation of finite impulse response (FIR) and infinite impulse response (IIR) digital filters. Digital processing of analog signals, including applications of digital signal processing (DSP) and programmable DSP chips. The representation and modelling of non-deterministic (random) signals, correlation functions, and power density spectra.
Text Book:
- Digital Signal Processing: Principles, Algorithms and Applications (3rd Edition) by John G. Proakis and Dimitris K Manolakis
CSC 444 Digital Electronics and Pulse Techniques 3 credits
Diode logic gates, transistor switches, transistor gates, MOS gates, Logic families: TTL, ECL, IIL and CMOS logic with operation details. Propagation delay, product and noise immunity. Open collector and High impedance gates. Electronic circuits for flip flops, counters and register, memory systems. PLA's (A/D, D/A converters with applications, S/H circuits) LED, LCD and optically coupled oscillators. Non-linear applications of OPAMPs. Analog switches. Linear wave shaping: diode wave shaping techniques, clipping and clamping circuits, comparator circuits, switching circuits. Pulse transformers, pulse transmission. Pulse generation:monostable, bistable and stable multivibrations, Timing circuits. Simple voltage sweeps, linear circuit sweeps. Schmitrigger, blocking oscillators and time base circuit.
Text Book:
- Pulse, Digital, and Switching Waveforms: Devices and Circuits for Their Generation and Processing by Herbert Taub Jacob Millman
CSC 445 Software Engineering 3 credits
Introduction to the principles of software engineering. Software as product and process. Project management and planning; tracking and scheduling; risk analysis and quality assurance techniques.; configuration management. Project and process metrics, size and function oriented metrics. Software testing techniques: black box and white box techniques. Testing strategy: unit, integration and system testing.. Concepts of object-oriented, event-driven and network programming, client-server architecture, web engineering. The course focuses on taking a group development project from beginning to end. (Prerequisite CSC 401)
Text Books:
- Software Engineering: A Practitioner's Approach by Roger Pressman and Bruce Maxim
- Software Engineering (9th Edition) by Ian Sommerville
CSC 447 Computer Peripherals and Interfacing 3 credits
The role of computer peripherals. The connection of peripherals to computers. Display. Keyboard. Visual display units. Printers. Analogous signal input output. Graphic systems. Output devices. OMR, OCR and MCR. Backing stores. Data communication. Interfacing components and their characteristics. Important peripheral chips e.g., Intels 8255, 8251, 8253/8254, 8155, 8237/8239 etc and their uses and applications in different systems. Microprocessor I/O. Disk. Drums. Optical displays and sensors. High power interface devices. Interfacing for Transducers, stepper motors and peripheral devices. Design and operation of interface between computer and the outside world.
Text Book:
- Microprocessors & Interfacing: Programming & Hardware. by D.V. Hall
CSC 449 Fault Tolerant System 3 credits
Introduction to redundancy theory, limit theorems, decision theory in redundant systems. Hardware fault tolerance: Computer redundancy, detection of faults, replication and compression techniques, self repairing techniques, conCSCtrated and distributed voters, models of fault tolerant computer. Software fault-tolerance: Fault tolerance versus fault intolerance, fault tolerance objectives; errors and their management strategies, implementation of error management strategies. Software fault tolerance techniques, software defence, protective redundancy. Architectural support of fault-tolerant software protection mechanisms, recovery mechanisms.
Text Books:
- Fault-Tolerant Systems by Israel Koren and C. Mani Krishna
- Design and Analysis of Fault Tolerant Digital Systems by Barry W. Johnson
CSC 450 Cryptography and Network Security 3 credits
Introduction; nature and types of security attacks, key based cryptography, symmetric and asymmetric key. Cryptanalysis. Fiestel cipher structure; conventional encryption algorithms, DES and triple DES. Key distribution problem. Asymmetric cryptography: public key cryptography, message authentication, hash function, RSA and Diffie-Hellman algorithms. Model for network security. Digital signature, digital certificate. Quantum cryptography. (Prerequisite: CSC 306, CSC 430)
Text Books:
- Cryptography & Network Security: Principles & Practice 5th Edition by W. Stallings
- Cryptography & Network Security by B. Forouzan
- Introduction to Modern Cryptography: Principles & Protocols by J. Katz, Y.Lindell
CSC 452 Software Marketing 3 credits
Introduction to marketing and marketing communication, service marketing, marketing challenges of technology products and services; methodology to identify target buyer’s perceptions and behaviors; marketing software product: market research, product positioning, determining value proposition of the product, pricing, distribution, promotions, intellectual property management, advertising and product management; marketing customized software development services: target market determination, educating clients, response to request for proposal, basics of software effort and cost estimation, client relationship management, business value determination of software solutions, base line data collection, determining return on software investment (ROI), impact assessment due to software use, and organization change management; marketing software engineering services to offshore clients: determining offshore market opportunities, understanding constraints in penetrating those markets, developing strategies, establishing linkages with complementary partners and packaging and promoting software engineering service capability to targeted markets; Software quality assurance:basic of software quality assurance (SQA), business value of SQA, and clients role in SQA. Introduction to ISO and SEI’s capability maturity model for software SQA. Case studies. Contractual and legal issues.
Text Books:
- Software That Sells: A Practical Guide to Developing and Marketing Your Software Project by Edward Hasted
- Just Enough Requirements Management: Where Software Development Meets Marketing by Alan Mark Davis
CSC 453 Software Requirement Engineering 3 credits
Role of requirements in system development and maintenance, goals of the requirements phase, essential difficulties of specifying requirements, effective methods, tools and techniques, techniques for formally modeling and specifying software requirements, process of identifying stakeholders, capturing, analyzing, reviewing and verifying their requirements for new or extended software products, optimization of software requirements and business benefits, the role of prototyping in validating requirements; process of requirements management, configuration management, change management, impact estimation due to requirements change.
Text Books:
- Software Requirements Engineering, 2nd Edition by Richard H. Thayer and Merlin Dorfman
- Software Requirements 3rd edition by Karl E Wiegers and Joy Beatty
- Requirements Engineering for Software and Systems, Second Edition (Applied Software Engineering Series) by Phillip A. Laplante
CSC 454 Software Engineering Process Management 3 credits
Challenge of producing and maintaining complex software-intensive system; predictability and improved cost; team work in software development; quality assurance; process CSCtric software engineering practices; software engineering process framework developed by Software Engineering Institute (SEI); capability of each process area; framework to meet challenges; characteristics of software products and processes, its quantification, analysis, prediction, control, and guidelines to achieve both business and technical goals.
Text Books:
- Practical Software Metrics for Project Management and Process Improvement by Robert B. Grady
- Software Engineering Essentials, Volume I: The Development Process (Volume 1) by Dr. Richard Hall Thayer, Dr. Merlin Dorfman, Mr. Leonard L. Tripp and Dr. Friedrich L. Bower
CSC 456 Business Process Reengineering 3 credits
Introduction to process CSCtric understanding of business processes; analysis and modeling techniques of business practices as processes, analysis of processes of different categories of organizations operating both in private and public sectors; e-Governance, e-Commerce, process of generating software solutions for improving performance of business processes, process performance parameter determination and determination of optimum software features for performance improvement; ROI estimation and measurement framework determination for verification; over view of different enterprise resource planning (ERP) applications and their uses in BPR; implementation and organizational change management; process performance parameter collection and validation of ROI estimation.
Text Books:
- Business Process Reengineering: Breakpoint Strategies for Market Dominance by Henry J. Johansson, Patrick McHugh, A. John Pendlebury and William A. Wheeler
- The Ultimate Guide to Business Process Management: Everything you need to know and how to apply it to your organization by Theodore Panagacos
CSC 457 Project Management 3 credits
Overview of Project Management, Project tracking and scheduling, Risk management & analysis. Cost estimation models. Project metrics. Function Point Estimation. Software quality assurance. Program verification and validation techniques Software testing techniques, black-box and white-box techniques. Testing of various areas: unit, domain, path, equivalent class based portion, component, aggregation, testing, requirement based testing, acceptance testing. Software reuse and maintenance; Industrial practices in software engineering. ISO certification standards for software quality assurance; Software capability maturity model and its impact. The course focuses on taking a group development project from beginning to end.
Text Books:
- Mastering Software Project Management: Best Practices, Tools and Techniques by Murali K. Chemuturi and Thomas M. Cagley Jr.
- Applied Software Project Management by Andrew Stellman and Jennifer Greene
CSC 458 Software Quality and Testing 3 credits
Software quality assurance (SQA), review of SQA practices, quality management, the role of SQA, the SQA program planning, launching and management, independent verification and validation; software inspections, basic principles, reviews, reporting and tracking, managing inspections and reviews; principles of software testing, testing types, test planning, development, execution and reporting; real-time testing and test organization; basic concepts of reliability, modeling software reliability from test results, techniques for analyzing, predicting, designing, and engineering the required and expected reliability of software systems.
Text books:
- Software Testing and Quality Assurance: Theory and Practice by Sagar Naik and Piyu Tripathy
- Software Testing: Fundamental Principles and Essential Knowledge by James D. McCaffrey
- Quality Code: Software Testing Principles, Practices, and Patterns by Stephen Vance
CSC 459 Software Architecture and Component-Based Design 3 credits
High-level architectural designs of software systems and products, strengths and weaknesses of each design style, component-based design, cohesion, interconnection and complexity, middleware, performance analysis and simulation, and COTS components; commonly-used software system structures, techniques for designing and implementing these structures, models and formal notations for characterizing and reasoning about architectures, tools for generating specific instances of an architecture, and case studies of actual system architectures Object-oriented design, design patterns, and UML; application of domain analysis, impact of platform dependence and independence, relation of software architecture to requirements, domain analysis and the architectural design process, and products in a real-world context.
Text Books:
- Software Architecture: Foundations, Theory, and Practice by R. N. Taylor, N. Medvidovic and E. M. Dashofy
- Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures by Hassan Gomaa
CSC 455 Web Applications and Internet 3 credits
Web Technology - OSI & TCP/IP architecture, Internet Routing, IP addressing & Domain Name System. Overview of popular browsers; HTML and Cascading Style Sheet; Understanding HTTP, HTTPS, FTP, Client and Server side scripts; Scripting: JavaScript, AJAX (Asynchronous JavaScript and XML) and jQuery libraries; Web Servers: IIS, Apache; Designing dynamic websites: ASP.NET with SQL server, PHP with My SQL; Web security: Cryptography, Digital signature, Digital Certificate, Authentication & Firewall. (Prerequisite: CSC 305, CSC 401).
Text Books:
- Professional Java for Web Applications by Nicholas S. Williams, Wrox publications
- Expert PHP and MySQL by Andrew Curioso, Ronald Bradford, Patrick Galbraith, Wrox Publications
- Learning PHP, MySQL, JavaScript, and CSS: A Step-by-Step Guide to Creating Dynamic Websites, by Robin Nixon
CSC 460 Multimedia Systems 3 credits
Multimedia system architecture, Text, images and graphics, audio, video and animation. Data compression, JPEG and MPEG, DVI, AVI, multimedia files standards; overview of multimedia storage and retrieval technologies. Video and Image display systems, multimedia communication and database systems, multimedia user interfaces, and applications of multimedia systems. (Prerequisite: CSC 306, CSC 305)
Text Books:
- Fundamentals of Multimedia, Ze-Nian Li, and Mark S. Drew, Pearson Prentice Hall
- F. Halsall: "Multimedia Communications: Applications, Networks, Protocols, and Standards", 1/e 2000 Addison-Wesley
CSC 461 Advance topics for Application Development 3 credits
Selected advanced topic related to different applications from the field of computer science and its applications. It may vary from time to time.
CSC 462 Entrepreneurship Development 3 credits
This course studies the planning stages involved in starting a new business including market, financial, and legal feasibility requirements. The students required to develop a full business plan and elevator pitch. The purpose of the course is to provide a practical opportunity for students to realistically assess the potential of some new venture idea and develop a detailed program or plan for a small business. The course covers a range of topics that are required to succeed in an entrepreneurial career. From an overview of entrepreneurship and the entrepreneurial process, the course spreads out to consider how to evaluate a possible idea for a business, buy an existing firm, acquire a franchise, develop a marketing plan, and create a comprehensive business plan for your new venture concept.
Text Books:
- The Entrepreneur Mind: 100 Essential Beliefs, Characteristics, and Habits of Elite Entrepreneurs by Kevin D. Johnson
- Amazon's Jerry W. Moorman Page
- Start Your Own Business, Fifth Edition: The Only Start-Up Book You'll Ever Need by The Staff of Entrepreneur Media
CSC 463 IT Forensic 3 credits
Purpose of Forensics: Investigative Mindset, Focus on the Fundamentals; Evidence Fundamentals: Admissibility & Authenticity, Threats against Authenticity, Reporting and Presenting Evidence, Evidence Acquisition Basics, Preservation of Evidence; Types of Acquisition; Forensic Field Kits: Forensic Automated Tools, Registry Forensics In-Depth; Browser forensics; Digital Forensic Case
Text Books:
- Cyber Forensics: A Field Manual for Collecting, Examining, and Preserving Evidence of Computer Crimes by Albert Marcella Jr. and Doug Menendez
- Computer Forensics and Cyber Crime: An Introduction (3rd Edition) by Marjie T. Britz
CSC 465 E-commerce and Web Database 3 credits
Electronic Commerce environment, modes, types; Intranet, intranet, extranet, VPN, and VAN; Security and authentication; Cryptography, key management, certificate authority, PKI, digital signature and digital certificate; Payment gateway; Electronic cash and electronic payment schemas: EDI, EFT, SWIFT. Secure transaction through credit cards and PayPal; Shopping cart; Cloud-hosting; Web database design, development and management; Integrating database with web applications, Web database security and access controls; Legal framework of e-Commerce. (Prerequisite: CSC 401)
Text Books:
- Effortless E-Commerce with PHP and MySQL (2nd Edition) by Larry Ullman
- Web Information Retrieval (Data-Centric Systems and Applications) by Stefano Ceri, Alessandro Bozzon, Marco Brambilla and Emanuele Della Valle
CSC 470 Introduction to Parallel Programming 3 credits
Parallel architectures; linear, mesh, binary, and hypercube connections; routing mechanisms; communication models; scalability and efficiency; Principles of parallel algorithm design: Design approaches, design issues, performance measurement & analysis, complexities, anomalies in parallel algorithms; parallel searching, parallel sorting, parallel graph and parallel computational algorithms; parallel programming paradigms: message passing, shared memory and multi-core parallel programming. (Prerequisite: CSC 306, CSC 305, MAT 203)
Text Books:
- An Introduction to Parallel Programming by Peter Pacheco
- Programming Massively Parallel Processors, Second Edition: A Hands-on Approach by David B. Kirk and Wen-mei W. Hwu
- The Art of Multiprocessor Programming, Revised Reprint by Maurice Herlihy and Nir Shavit
- Parallel Programming with Microsoft® .NET: Design Patterns for Decomposition and Coordination on Multicore Architectures by Colin Campbell, Ralph Johnson, Ade Miller and Stephen Toub
- Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming by Simon Marlow
CSC 471 Introduction to Informatics
3 credits
A combination of bio, geo and other types of informatics application are discussed in this course. Lectures cover sequence analysis as generalized string processing, microarray expression analysis, Bayesian methods, control theory, scale-free networks and biotechnology applications. Designed for those with a computational and/or engineering background, it will include efficient algorithmic techniques for solving a wide variety of biological problems, current real-world examples, actual implementations, ad engineering design issues. Where applicable, engineering issues from signal processing, network theory, machine learning, physics, chemistry and other domains will be drawn upon. Part of the informatics course will also discuss the algorithms applicable to bioinformatics and their suitability in the geo-informatics domain. However, in this area the applications are more related to microarray and protein synthesis or structural bioinformatics problems. It also encompasses several fields of study, including geospatial modeling and analysis, geospatial database development, information systems design, human-computer interaction and networking technologies. An overview of the history of geo-informatics and its subdomains will be provided. Detailed discussions will be held on global positioning systems (GPS), vector and raster geographical information systems (GIS), cartography, surveying, photogrammetry, remote sensing, visualization, and other related topics. This course provides a solid foundation in geo-informatics and is suitable for students with a genuine interest in technologies related to geographical analysis.
Text Book:
- Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids by R. Durbin, S. Eddy, A. Krogh, and G. Mitchison
- Introduction to Geospatial Technologies by Bradley A. Shellito
CSC 475 VLSI Design & Testing 3 credits
VLSI Technology: MOS transistor and inverter characteristics, complex CMOS gates and functional circuits. Design and operation of large fan-out and fan-in circuits; Clocking methodologies; Techniques for data path and data control design. VLSI layout partitioning, placement routine, and writing in VLSI Reliability aspects and testing of VLSI. (Prerequisite: Senior Standing)
Text Book:
- Basic VlSI Design: Systems and Circuits by Douglas A. Pucknell, Kamran Eshraghian
CSC 480 Computer Vision 3 credits
This course aims to introduce the application areas of computer vision. How challenges related to understanding human visual system and how the understanding of the natural visual system can be implemented into computers is discussed in this course. Stereo or 3D counterpart creation from 2D images, motion detection in 2D image or video sequences, video processing for action annotation - are the main areas of discussion. After successful completion the course the students will able to know how to use low-level vision techniques learned in image processing be combined or applied to acquire higher level-visual perception.
Text Books:
- Computer Vision: Algorithms and Applications by Richard Szeliski
- Computer Vision: A Modern Approach by David Forsyth and Jean Ponce
- Digital Image Processing with Matlab by Ganzalez, Woods and Eddins (2004)
CSC 485 Telecommunication Engineering 3 credits
To present a general introduction to telecommunications aspects such as signal acquisition, transmission and processing in communication systems. This subject provides general telecommunication knowledge. Including: Characteristics of typical communication channels; Typical signals (speech, audio, video, data) and their characteristics; Basic analogue and digital techniques; Key techniques in handling transmission system issues (modulation, coding, multiplexing, etc); System performance and evaluation (channel noise, inters symbol interference, bit error rate, etc.); Major communication systems including telephony, radio, TV, satellite, mobile phone, optical fiber, radar and networks. (Prerequisite: CSC 430)
Text Book:
- Wireless Personal Communications, Theodore S. Rappaport, Brian D. Woerner, Jeffrey H. Reed and William H. Tranter
CSC 490 Special Topics in Computer Science & Engineering 3 credits
Selected advanced topic from the field of computer science and engineering and its applications. It may vary from time to time.
CSC 498 Senior Project 6 credits
CSC 499 Internship 3 credits
MAT 104 Calculus and analytical geometry (Foundation) 3 credits
Functions and their visualization, limits, and continuity; Differential calculus, differentiation of product and quotient; Successive differentiation. Additional techniques of integration. Interpretations of the derivative, applications of the derivative to geometry, mechanics, marginality and optimization. Newton’s method. Introduction to modeling; Integral calculus, integration by parts; Definite integral, interpretations and properties of the definite integral, applications of the definite integral to geometry, mechanics, economics and modeling. Approximating definite integral, approximation errors and Simpson’s rule, improper integrals. Taylor polynomials and series, convergence of series, finding and using Taylor’s series, indeterminate forms, Fourier series. First order differential equations: Slope fields, Euler’s method, separation of variables, linear equations, applications and modeling.
Text Books:
- Calculus and Analytic Geometry by George B. Thomas and Ross L. Finney
CSC 902 Advanced Robotics
3 credits
This course builds on prior knowledge acquired in the introductory Robotics course. Students will learn the essential skills necessary to develop human-like robotic and biomechanical systems for practical applications from comprehensive hands-on experience. They will program mobile robots to exhibit increasingly complex behavior (simple dead reckoning and reactivity, goal-directed motion, localization, complex tasks). Topics include, but are not limited to, motor control and sensor characteristics, redundancy, haptics, human-friendly design, sensor fusion, model construction, and robust estimation, control regimes (subsumption, potential fields), probabilistic methods including Markov localization and particle filters. The course is rounded off with a brief discussion on related emerging technologies. (Prerequisite: CSE 426)
Text Book:
- Introduction to Robotics - Analysis, Control, Applications by Saeed B. Niku
- Introduction to Robotics: Mechanics and Control by John J. Craig
CSC 903 Introduction to Control System
3 credits
Description Here
Text Book:
- Text Book Name
MAT 203 Linear Algebra vectors and matrices 3 credits
vectors and matrices; unit vectors; algebra of vectors; dot and cross products; elementary concepts of a matrix; matrix algebra; row operations; solutions of a system of linear equation. Systems of linear equations and matrices, vector spaces and subspaces, linear dependence and independence, dimensions and bases, linear transformations and matrices, eigenvalues and eigenvectors, changes of coordinates, orthogonality, diagonalization.
Text Books:
- Elementary Linear Algebra by Howard Anton
- Linear Algebra and Its Applications, 4th Edition by David C. Lay
MAT 212 Probability & Statistics for Science and Engineering (Foundation) 3 credits
Discrete and continuous random variables; probability concepts; discrete and continuous distributions; Binomial, Poisson, Normal, Exponential distributions; moments and moment generating functions, joint probability distributions; sampling distributions; confidence intervals; Least Square regression; hypothesis testing; analysis of variance; Markov process, Monte-Carlo simulation.
Text Books:
- Statistics for Engineers and Scientists by William Navidi
- Engineering Statistics by Douglas C. Montgomery, George C. Runger and Norma F. Hubele
MAT 301 Ordinary Differential Equations 3 credits
First order ordinary differential equations (existence and uniqueness of solutions, solution techniques, direction fields and stability, modeling applications). Second and higher order linear equations (existence and uniqueness, fundamental set of solutions of homogeneous equations, Wronskian, reduction of order, equations with constant coefficients, method of undetermined coefficients, method of variation of parameters, solutions in series, Laplace transform method, modeling applications). Systems of linear differential equations (existence and uniqueness of solutions, eigenvalue method for homogeneous systems, method of variation of parameters for systems, Laplace transform method for systems, modeling applications).Introduction to nonlinear systems.
Text Books:
- Differential Equations With Applications and Historical Notes by George F. Simmons
- A First Course in Differential Equations by Dennis G. Zill
MAT 401 Graph Theories 3 credits
Graphs and subgraphs, trees, connectivity, Eule tours and Hamjlton cycles, matchings, graph colorings, plana graphs and Euler’s formula, directed graphs, network flows, counting arguments, graph algorithms. (Prerequisite: CSC201, MAT 201)
Text Books:
- Introduction to Graph Theory (2nd Edition) by Douglas B. West
- Introduction to Graph Theory by Richard J. Trudeau
- Graph Theory and Its Applications, Second Edition by Jonathan L. Gross and Jay Yellen
MAT 403 Introduction to Mathematical Modeling 3 credits
An introduction to techniques of mathematical modeling involved in the analysis of meaningful and practical problems in many disciplines including mathematical sciences, operations research, engineering and the management and life sciences. Students will be encouraged to recognize and formulate problems in mathematical terms, solve the resulting mathematical problems and interpret the solution in real terms. (Prerequisite: MAT 301)
Text Book:
- An Introduction to Mathematical Modeling (Dover Books on Computer Science) by Edward A. Bender
MAT 405 Optimization Techniques 3 credits
Discrete , deterministic models of interest to social sciences. Linear programming, duality, simplex method, sensitivity analysis, convex sets. Selections from assignment, transportation, network flow, nonlinear programming problems. (Prerequisite: MAT 301)
Text Book:
- Optimization Techniques by C. Mohan and Kusum Deep
MAT 420 Computational Geometry 3 credits
Polygon triangulation; Polygon partitioning; Convex hull in two and three dimensions; Voronoi diagrams; Combinatorics; Sweep algorithms; Polygon intersection; Robot motion planning. (Prerequisite: CSC 401, Senior standing)
Text Books:
- Computational Geometry: Algorithms and Applications by Mark de Berg, Otfried Cheong, Marc van Kreveld and Mark Overmars
- Discrete and Computational Geometry by Satyan L. Devadoss and Joseph O'Rourke
MAT 430 Introduction to Discrete Dynamical Systems 3 credits
Iterations, orbits, graphical analysis, fixed and periodic points, bifurcations, the quadratic family, transition to chaos, iteration of two-dimensional maps, complex dynamics, Julia set, introduction to fractals. (Prerequisite: MAT 301, Senior Standing).
Text Books:
- Discrete Dynamical Systems: Theory and Applications by James T. Sandefur
- Discrete Dynamical Systems by Oded Galor
For further information please contact:
Independent University, Bangladesh(IUB)
School of Engineering & Computer Science(SECS)
Level 4, Academic building
Plot-16, Block-B, Aftabuddin Ahmed Road,
Bashundhara R/A, Dhaka-1229.
Tel: 8401645-52, 8401790, 8401991