Detailed Course Contents
CSE 4601 Software Engineering and Object Oriented Design
Software Engineering principles, Life cycle models, Sizing, Estimation, Planning and control, Requirements Specification, Functional specification and design. Integration and testing strategies, Quality assurance, Configuration management, Software maintenance, Management of programming teams, Programming methodologies, Debugging aids, Documentation and measurement of software verification and testing techniques and the problems of maintenance, Modification and portability.
Object oriented concepts, Abstraction and modeling; Object modeling - Identification, Classification, Association, Generalization and Aggregation, Inheritance, Meta-data and Notation for object modeling; Use case, dynamic modeling - State transition diagrams and object life cycles; State chart, class diagram, Design pattern, Object oriented development methodologies - Object modeling technique, Object oriented analysis, Object oriented design; Object communication models; and Integration of models.
1. Software Engineering a practitioner’s approach, Author: Roger S. Pressman Fourth edition, McGraw-Hill Book Company
2. Object Oriented Modeling and Design, Author: Raumbugh
3. Unified Modeling system, Author: Raumbugh
4. Applying UML and Patterns, Author: Craig larman
5. Object oriented analysis and design Using UML Author: Bennet Farmer
6. Design Pattern, Author: Gamma, Helm & Jhonson
CSE 4603 UNIX Programming
Introduction to UNIX, History, Layering, OSI Model, UNIX Model.
C Programming tools in UNIX, The C Language, single and multi module programme, UNIX file dependency system, UNIX Archive System, UNIX Source Code Control System, UNIX profiler, Unix Debugging, System Programming
Inter process Communication, Communication Protocols, TCP/IP, XNS, SNA, NetBIOS and OSI Protocols, UUCP, Berkley Sockets, Unix Domain Protocols, Socket Addresses, elementary and advanced socket UNIX Shells, Shell functionality, systems calls, System verses Transport Layer Interface, Transport Endpoint addresses, elementary a and advanced TLI functions, I/O Multiplexing, Library Routines, time and Date Routines, Ping Routines.
1. UNIX: for programmers and users, Author: Graham Glass, Prentice Hall of India
2. UNIX Network Programming, Author: W. Richard Stevens, Prentice Hall of India
3. The ‘C’ Odyssey Unix Author: Vijay Mukhi, Meeta Gandhi
CSE 4604 UNIX Programming Lab
Sessional works based on CSE 4603
CSE 4605 Computer Networks
Introduction to computer networks, Uses of computer networks, Network models, Network topology, Layered approach of networking protocols, Design issues of layers, and TCP/IP protocol suite.
Data link layer: Design issues; error control, detection and correction; Logical link control sub-layer, Medium access sub-layer; Multiple access protocols, Medium access mechanisms – ALOHA, slotted ALOHA, CSMA, CSMA/CD, CSMA/CA, WDMA; Medium access protocols – IEEE 802.3: Ethernet, IEEE 802.4: Token bus, IEEE 802.5: Token ring, Introduction to WiFi; High speed LANs, FDDI, Fast Ethernet, and Gigabit Ethernet; LAN extension – Bridges, Switches, and VPN,
Network layer: IP addressing, IP packet forwarding, Subnetting, CIDR, Internet protocol, ICMP, ARP, RARP, DHCP, and IPv6 overview; Routing protocols -
Transport layer: Functionalities; User datagram protocol (UDP) – UDP operations and UDP package modules, Transmission control protocol (TCP) – TCP features, TCP Connection establishment and termination, TCP Flow control and error control, Congestion control.
Application layer: DNS, Electronic mail (SMTP, POP, IMAP), FTP, WWW.
1. Data Communications and Networking, Author: Behrouz A Forouzan
2. Computer Networks a System Approach, Author: Larry L. Peterson and Bruce S. Davie
3. Computer Networks, Author: Tanenbaum A S
CSE 4606 Computer Networks Lab
Sessional based on CSE 4605
CSE 4607 Computer Graphics and Multimedia Systems
Introduction to computer graphics: brief history, applications, hardware and software and the fundamental ideas behind modern computer graphics.
Two dimensional graphics: device-independent programming; graphics primitives and attributes.
Interactive graphics: physical input devices, event-driven input; user interface. Transformations; translation, rotation, scaling, shear.
Three-dimensional graphics: 3D curves and surfaces; projections.
Multimedia System Architecture. Objects for Multimedia System: Text; Images and graphics: Basic concepts, Computer image processing; Sound/ Audio: Basic concepts, Music, MIDI, Speech; Video and animation: Basic concepts, Computer-based animation
Data Compression Techniques: JPEG; H.261 (px64); MPEG; Intel’s DVI; Microsoft AVI; Audio compression; Fractal compression.
Multimedia File Standards: RTF; TIFF; RIFF; MIDI; JPEG DIB; AVI Indeo; MPEG.
Multimedia Storage and Retrieval Technology: Magnetic media technology; Optical media technology: Basic technology, CD Digital audio, CD-ROM, its architecture and further development, CD-Write only (CD-WO), CD- Magnetic optical (CD-MO).
Architecture and Multimedia Communication Systems: Pen input; Video and image display systems; Specialized processors: DSP; Memory systems; Multimedia board solutions; Multimedia communication system; Multimedia database system (MDBMS)
User Interfaces: General design; Video and Audio at the user interface
Multimedia Applications: Imaging; Image/Voice processing and recognition; Optical character recognition; Communication: Tele-service, Messaging; Entertainment: Virtual reality, Interactive audio and video, Games.
1. Introduction to Computer Graphics, Author: Foley J D and others
2. Computer Graphics, Author: Angel E
3. Computer Graphics, Author: Hearn D and Baker M P
4. Multimedia systems, Author: Stimetz
5. Multimedia: Computing, Communications & Applications, Author: Ralf Steinmetz and Klara Nahrstedt
6. Multimedia Systems Design, Author: Prabhat K. Andleigh and Kiran Thakrar
CSE 4608 Computer Graphics and Multimedia Systems Lab
Sessional works based on CSE 4607
CSE 4610 Software Development
Over that last five years or so, the software industry has begun to explore lightweight development methodologies as alternative approaches for building software. These so-called "agile" methodologies emphasize the value of people programmers and clients over rigid processes. In this course, several of these agile methodologies will be studied and evaluated. Real programming projects will be implemented. An important part of trying them out will be to use some of the of the interesting new tools that support agile methods, such as:
unit testing frameworks, such as jUnit
refactoring browsers, such as Eclipse and IntelliJ's IDEA
build management tools such as Ant and make
1. The Pragmatic Programmer Author: Andrew Hunt and David Thomas.
2. Extreme Programming Explained: Embrace Changes Author: Kent Beck.
3. Agile Software Development: Principles, Patterns, and Practices Author: Rober
CSE 4614 Technical report writing
Issues of technical writing and effective oral presentation in Computer Science and Engineering; Writing styles of definitions, propositions, theorems and proofs; Preparation of reports, research papers, theses and books: abstract, preface, contents, bibliography and index; Writing of book reviews and referee reports; Writing tools: LATEX; Diagram drawing software; presentation tools; Definition of plagiarism; Types of plagiarism; How to detect plagiarism; Plagiarism and world wide web; How to avoid plagiarism.
1. Writing and presenting reports, Author: Eunson B, John Wiley 1994
2. Writing Tools: 50 Essential Strategies for Every, Author: Roy Peter Clark
3. How to Write Technical Reports: Understandable Structure, Good Design, Convincing Presentation, Author: Lutz Hering, Heike Hering
4. LaTeX: A Document Preparation Systemk Author: Leslie Lamport