২০১৭-২০১৮ শিক্ষাবর্ষ থেকে কার্যকর বি.এসসি অনার্স ইন কম্পিউটার সায়েন্স এন্ড ইঞ্জিনিয়ারিং (CSE) ৩য় বর্ষ কোর্সের সিলেবাস।
জাতীয় বিশ্ববিদ্যালয়ের ২০১৭-২০১৮ শিক্ষাবর্ষ থেকে কার্যকর বি.এসসি অনার্স ইন কম্পিউটার সায়েন্স এন্ড ইঞ্জিনিয়ারিং (CSE) ৩য় বর্ষ কোর্সের সিলেবাস।
Third Year Syllabus
Department of Computer Science and Engineering
Four Year B.Sc. Honours Course | Effective from the Session: 2017–2018
জাতীয় বিশ্ববিদ্যালয়ের ২০১৭-২০১৮ শিক্ষাবর্ষ থেকে কার্যকর বি.এসসি অনার্স ইন কম্পিউটার সায়েন্স এন্ড ইঞ্জিনিয়ারিং (CSE) ২য় বর্ষ কোর্সের সিলেবাস।
জাতীয় বিশ্ববিদ্যালয়ের ২০১৭-২০১৮ শিক্ষাবর্ষ থেকে কার্যকর বি.এসসি অনার্স ইন কম্পিউটার সায়েন্স এন্ড ইঞ্জিনিয়ারিং (CSE) ১ম বর্ষ কোর্সের সিলেবাস।
Peripheral and Interfacing:
INTERFACING: Interfacing basics: Peripheral devices, adapters, Data highway, I/O operations. Interrupts basics, types, priority. and the interrupt controllers- Daisy chain configuration, 8259A. DMA basics and the 8237 DMA controller. Buses: AGP, PCI and PCI express, USB, SCSI. Digital Interfacing: Digital Interfacing basics and the ProgrammableParallelPort 8255A. Interfacing, Keyboard and Alpha-numeric Display Interfacing.high power devices. Interfacing microcomputer ports to stepper motor and high power devices. Optical motor shaft encoders. Analog Interfacing: D/A (simple and R-2R ladder circuits) and A/D (parallel, successive approximation and Dual-slope circuits) converters, properties and interfacing, interfacing with different sensors. PERIPHERALS DEVICES: Different types of sensors and transducers. Interfacing with Devices: Different Mouse, Joystick, Scanner, Light, Pen, Touch Screen, OMR, OCR, Barcode Reader. Magnetic and Optical disk storage. Keyboard switches, Light Emitting Diodes, CRT and LCD displays, Laser printers: organization, working principle and properties.
Data and Telecommunications:
Data communication model: TCP/IP and OSI; data communication network components; different types of networks: circuit switching, packet switching networks, ATM, HDLC and X.25; signal and random processes; review of Fourier transformation and Hilbert transformation; Introduction to modulation techniques; continuous wave modulation: AM, PM, FM; sampling theorem; pulse modulation: PAM, PDM, PPM, PCM; companding; delta modulation; different PCM; multiple access techniques: TDM, FDM; quantization; digital modulation: ASK, FSK, PSK, BPSK, QPSK; constellation; bit error rate (BER), noise; echo cancellation; intersymbol interference; probability of error for pulse systems; concepts of channel coding and capacity; asynchronous and synchronous communications; hardware interfaces, multiplexers, concentrators and buffers; communication media; fiber optics; wireless transmission: propagation, path loss, fading, delay spread; spread spectrum: frequency hopping spread spectrum and direct sequence spread spectrum; CDMA; High speed digital access: DSL, SONET, SDH; error detection and correction techniques: parity check, CRC, block code and hamming code; flow and error control techniques: sliding window, stop and wait, ARQ and HDLC protocols; modes of communications: simplex, half-duplex and full duplex.
Introduction: Operating system overview, computer system structure, structure and components of an operating system. System calls: class of system calls and description. Process and threads: process and thread model, process and thread creation and termination, user and kernel level thread, scheduling, scheduling algorithms, dispatcher, context switch, real time scheduling. Concurrency and synchronization: IPC and inter-thread communication, critical region, critical section problems and solutions. Resource management: introduction to deadlock, ostrich algorithm, deadlock detection and recovery, deadlock avoidance, deadlock prevention, starvation. File management: File Naming and structure, file access and attributes, system calls, file organization: OS and user perspective view of file, memory mapped file, file directories organization, File System Implementation: implementing file, allocation strategy, method of allocation, directory implementation, UNIX i-node, block management, quota. Memory management: basic memory management, fixed and dynamic partition, virtual memory, segmentation, paging and swapping, MMU. Virtual memory management: paging, page table structure, page replacement, TLB, exception vector, demand paging and segmentation, thrashing and performance. Disk I/O management: structure, performance, low-level disk formatting, Disk arm scheduling algorithm, error handling, stable storage.
Peripheral and Interfacing Lab:
The key objective of the course is to introduce the students with different peripheral devices (LED, 7-segment display, 16×2 LCD display, stepper motor, DC motor, servo motor, etc), Sensors (Temperature sensor,light sensors, etc.) and interfacing. Besides, students will be introduced how those devices are interfaced and controlled from computer. After completing the course, students will be able to control any peripheral devices from computer through computer’s parallel port. Students will be introduced with various micro controllers (PIC 16F84,ATMEL etc) and they will be able to design micro controller based small embedded systems.
Data and Telecommunications lab:
Laboratory classes are based on the course CSE 530203. Upon successful completion of this laboratory, students should have knowledge about various communication protocols in physical layers, be able to identify different transmission media based on their characteristics and can apply different signal encoding schemes and analyze their performance. They can handle different error detection and error control mechanism as well as different flow control mechanism and quantitatively analyze their performance. Having experience on serial communication, they can also implement the NULL modem communication. They can also use different types of multiplexing in a real or simulated environment.
Operating System Lab:
Lab based on the courseCSE 530205. Source code of OS161 operating system and required tools developed by Harvard University, based on R3000 architecture will be used in the lab. Students will be asked to add operating system module such as memory management, system call, file system, drivers etc. In the lab for such modules problems will defined elaborately. The laboratory also train students in debugging using gdb based on R3000.
Introduction: Definition, Microeconomics vs. macroeconomics, scope of economics, meaning of economic theory, some basic concepts- product, commodity, want, utility, consumption, factors of production.
Demand: Law of demand, factors determining demand, shifts in demand, demand functions, deriving demand curves, substitution and income effects, deriving aggregate demands, various concepts of demand elasticity and measurements, discussion on the method of estimating demand functions and demand functions and demand forecasting.
Supply: Law of supply and supply function, determination of supply, shifts in supply, elasticity of supply, market equilibrium.
Economic Theory of Consumer Behavior: reasons for consumption, Principle of diminishing marginal utility, indifference Curves, Budget Constraint, Utility Maximization and Consumer Equilibrium.
Consumer Demand: Change in Budget Constraints, Price Consumption Curve, Income Consumption Curve, Consumer Demand, market Demand, Engel Curve.
Production: Production functions, total, average and marginal products, law of diminishing marginal physical products, production isoquants, marginal rate of technical substitution (MRTS), optimal combination of inputs, expansion path, returns to scale, estimation of production function and estimation of cost function.
Cost: concepts of cost, short-run costs, relation between short-run costs and production, long run costs, economies and diseconomies of scale, relation between short run and long run costs, cost function and estimation of cost function.
Markets and Revenue: Meaning of market, different forms of market, concepts of total, average and marginal revenue, relation between average revenue and marginal revenue curves, relation between different revenues and elasticity’s of demand, equilibrium of the firm.
Price and Output: Price and output determination under perfect competition, monopoly, monopolistic competition and oligopoly, profit maximization, price discrimination, plant shut down decision, barriers to entry.
The Product and the Process: the Product, the Process. Managing Software Projects: Project Management Concepts, Software Process and Project Metrics, Software Project Planning, Risk Analysis and Management, Project Scheduling and Tracking, Software Quality Assurance, Software Configuration Management. Conventional Methods for Software Engineering: System Engineering, Analysis Concepts and Principles, Analysis Modeling, Design Concepts and Principles, Architectural Design, User Interface Design, Component-Level Design, Software Testing Techniques, Software Testing Strategies, Software Metrics. Object Oriented Software Engineering: Object-Oriented Concepts and Principles, Object-Oriented Analysis, Object-Oriented Design, Object-Oriented Testing. Advanced Topics in Software Engineering: Formal Methods, Cleanroom Software Engineering, Component-Based Software Engineering, Client/Server Software Engineering, Web Engineering, Reengineering, Computer-Aided Software Engineering.
Network architectures – layered architectures; ISO reference model: data link protocols, error control, HDLC, X.25, flow and congestion control, virtual terminal protocol, data security and MAC addressing; local area networks, satellite networks, packet radio networks; introduction to ARPANET, SNA and DECNET; Networking devices: hub, switch, bridge and router; LAN; wireless LAN; WAN; MAN; IEEE 802.*; FDDI; routing algorithm; congestion control; internetworking; firewalls; IPv4, IPv6, ARP, RARP and mobile IP; IP addressing; network layer of ATM; transport protocols; transmission control protocol; connection management, transmission policy, congestion control, timer management; TCP and UDP; AAL of ATM; cellular networks; network security: cryptography, DES, IDEA, public key algorithm; authentication; digital signatures; gigabit Ethernet; domain name system: name servers; email and its privacy; SNMP; HTTP; www; FTP; proxy server.
Theory of Computation:
Language theory; finite automata: deterministic finite automata, nondeterministic finite automata, equivalence and conversion of deterministic and nondeterministic finite automata, pushdown automata; regular expressions and its properties: Chomsky hierarchy, regular grammar and regular language; context free languages; context free grammars; Pumping lemma and its applications; Turing machines: basic machines, configuration, computing with Turing machines, combining Turing machines; Mealy machine and Moore machine; undecidability: diagonalization method, halting problem, undecidable problems from language theory and reducibility; recursive theorem.
Embedded System Programming:
Concept of visual programming; system programming concepts; general machine structures; Internet programming; environments; multiple document interfaces; ActiveX controls and ActiveX components; API; apache server; OLE automation; database programming and Active data objects; introduction to the web; scripting objects; active server pages; database connectivity to web applications; adding dynamic content to web applications; programming common gateway interfaces; programming the user interface for the web applications;programming with concurrency and multithreading; service-oriented software development; XML and related technologies: XML schema XSLT, XPath, DOM, SAX; web-based application development and state management; Kernel programming; programming for memory management; VFS handling; interrupt handling; Linux module programming; assembler: basic functions, machine dependent and independent assembler, one vs. multipass assembler; linker: dynamic lining and linking editors, loaders: machine dependent and independent loader, bootstrap loaders, development of system software and web-based applications for different devices.Reference Languages: Android, J2ME, C++.
Software Engineering Lab:
Based on Software Engineering Lab Theory Course CSE 530213.
Computer Networking Lab:
Laboratory classes are based on course CSE 530215. Starting with application layer, students will configure different services at different layers and examine their messaging techniques. Students will also develop some experiments to work transport layer services such as TCP and UDP.
Embedded System Programming Lab:
Laboratory classes are based on course CSE 530219.Students will get knowledge for developing some system tools based on various system calls. Linux module programming will be an important part of this lab. They will be asked to develop device drivers and applications programs for different devices.