B.SC COMPUTER SCIENCE HONOURS SYLLABUS UNDER CHOICE BASSED CREDIT SYSTEM 2015-2016 P.G. DEPARTMENT OF COMPUTER SCIENCE KHALIKOTE UNIVERSITY BERHAMPUR 1 B.SC. COMPUTER SCIENCE (HONOURS) SEM PAPER TOPIC CREDIT CLASSES MARKS (1hr dur.) 1 2 3 4 CI(TH) PROGRAMMING USING C 04 40 60+15 CI(PR) C-LAB 02 20 25 CII(TH) OPERATING SYSTEM 04 40 60+15 CII(PR) OS-LAB 02 20 25 CIII(TH) COMPUTER ORGNISATION 04 40 60+15 CIII(PR) CO-LAB 02 20 25 CIV(TH) MICRO PROCCESSOR 04 40 60+15 CIV(PR) MP-LAB 02 20 25 CV(TH) DATA STRUCTURE 04 40 60+15 CV(PR) DS-LAB 02 20 25 CVI(TH) DESIGN & ANNALYSIS OF ALOGRITHEM 04 40 60+15 CVI(PR) DAA-LAB 02 20 25 CVII(TH) C++ 04 40 60+15 CVII(PR) C++-LAB 02 20 25 AEECI(TH) DISCRETE STRUCTURE 04 40 80 AEECI(PR/TU) TUTORIAL 02 20 20 CVIII(TH) DBMS 04 40 60+15 CVIII(PR) DBMS LAB 02 20 25 CIX(TH) JAVA 04 40 60+15 CIX(PR) JAVA-LAB 02 20 25 CX(TH) ANDROID PROGRAMMING 04 40 60+15 CX(PR) AP-LAB 02 20 25 2 AEECII(TH) INFORMATION SECURETY 04 40 80 AEECII(PR/TU) TUTORIAL 02 20 20 CXI(TH) COMPUTER NETWORK 04 40 60+15 CXI(PR) CN-LAB 02 20 25 CXII(TH) COMPUTER GRAPHIES 04 40 60+15 CXII(PR) CG-LAB 02 20 25 DSE-I(TH) ELECTRONICS 04 40 60+15 DSE-I(PR/TU) ELECTRONICS-LAB 02 20 25 DSE-II(TH) ARTIFIAL INTELIGENCE 04 40 80 DSE-II(PR/TU) TUTORIAL 02 20 20 CXIII(TH) SOFTWARE ENGG 04 40 60+15 CXIII(PR) SE-LAB 02 20 25 CXIV(TH) INTERNET TECHNOLOGY 04 40 60+15 CXIV(PR) IT-LAB 02 20 25 DSE-III(TH) CLOUD COMPUTING 04 40 80 DSE-III(PR/TU) TUTORIAL 02 20 20 DSE-IV PROJECT 06 40 100 4 5 6 3 CORE COURSE ___________________________________________________________ SEMESTER-I ________________________________________________________________ B.SC (COMPUTER SCIENCE) CI (THEORY) CREDIT-04(40 hrs) F.M(60+15) DURATION-3hrs PROGRAMMING USING C UNIT-I Introduction to programming language ,introduction to c programming, character set, c tokens , keyword & identifiers ,constants, variables, data types ,storage classes, operators( Arithmetic , relational, logical, assignment, increment , decrement ,conditional, bitwise), expressions, input and output operations. UNIT-II Decision making and branching: simple IF statement, IF ....ELSE statement, nesting IF ....ELSE Statement, ELSE IF ladder, switch statement, go to statement, decision making and loops, arrays ,character arrays and strings. UNIT-III User-defined functions: need, elements& definition, function calls, function definition, category of functions, recursion. Structures and unions: Defining, Declaring, Accessing, Initialization structure, array of structure, Array with in structures, structures and functions, unions. UNIT-IV Pointers: Accessing the Address of a Variable, Declaring Pointer Variables, Initialization of Pointer Variable, Accessing a Variable through its pointer, Chain of Pointers, Pointer Expressions, Pointer Increments and Scale factor, Pointers and Array, Pointer and Character Strings, Array of Pointers, Pointers as Function Arguments, Function Returning Pointers, Pointers to Functions, Pointers to Structures, Troubles with Pointers. UNIT-V File Management in C: Defining and Opening a File, Closing a File, Input/Output Operations on Files, Error Handling During I/O Operations, Random Access to Files, Command Line Arguments, Dynamic Memory Allocation. Text Book: Programming in ANSI C: E. Balguruswamy 4/e (TMH) 4 CI (Practical) ________________________________________________________________ Credit 02(20 hours) F.M-25 Duration-3hrs C LAB Exercises to study various features of the C-language. Writing of well structured modular programs. ________________________________________________________________ SEMESTER-I ________________________________________________________________ B.SC (COMPUTER SCIENCE) CII (THEORY) CREDIT-04(40 hrs) F.M(60+15) DURATION-3hrs OPERATING SYSTEM UNIT-I Operating System, Computer-System Organization, Computer System Architecture, Operating System Structure, Operating System Operations, Process Management, Memory Management, Storage Management, Protection and Security, Distributed System, Special Purpose System, Computing Environments, Open-Source operating systems. Operating system services, User operating system interface, System Calls, Types of System calls, System Programs, Operating System Design and Implementation, Operating System Structures, Virtual Machine, Operating System Debugging, Operating System Generation, System Boot. UNIT-II Process: Process Concept, Process Scheduling, Operations on Processes, Interprocess communication, Example of IPC system, Communication in Client-Server Systems. Multithreading Programming: Multithreading Modules, Thread Libraries, Threading Issues, Operating System Examples UNIT-III Process Scheduling: Basic Concepts, Scheduling Criteria, Scheduling Algorithm, Thread Scheduling, Multiple Process Scheduling. Synchronization: The critical section problem, Peterson’s solution, synchronization hardware, semaphore, classical problem of synchronization, monitors, synchronization examples, atomic transactions. 5 UNIT-IV Deadlock: System Module, Deadlock Characterization, Methods of handling deadlock, deadlock prevention, deadlock avoidance, deadlock detection, recovery from deadlock. Memory Management Strategies: swapping, contiguous memory allocation, paging, structure of the page table, segmentation, Example: The Intel Pentium. UNIT-V Virtual-Memory Management: Demand Paging, Copy-on-Write, Page Replacement, Allocation of Frames, Thrashing, Memory-Mapped Files, Allocating Kernel Memory. File System: File Concept, Access Methods, Directory and Disk Structure, File System Mounting, File Sharing, Protections. TEXT BOOK: Operating System Concepts: Silberschatz, Galvin, Gagne, 8/e(Wiley-India) CII (Practical) ________________________________________________________________ Credit 02(20 hours) F.M(60+15) DURATION-3hrs OPERATING SYSTEM LAB Familiarity with MS-DOS and MS-WINDOWS commands involving Directory and File manipulation, Learning to use MS-OFFICE: MS_WORDS, MS_EXCEL. Familiarity with UNIX: log in and log off process, commands for File and Directory manipulation, File security and communication commands. Use of VI editor, simple shell programming. 6 _______________________________________________________________ SEMESTER-II _______________________________________________________________ B.SC (COMPUTER SCIENCE) CIII (THEORY) CREDIT-04(40 hrs) F.M(60+15) DURATION-3hrs COMPUTER ORGANIZATION UNIT-I Character Codes, Decimal System, Binary System, and Decimal to Binary Conversion, Hexadecimal Notation, and Boolean algebra. Basic Logic Functions: Electronic Logic Gates, Synthesis of Logic Functions, Minimization of Logic Expressions, Minimization using Karnaugh Maps, Synthesis with NAND and NOR gates. UNIT-II Flip-Flops, Gated Latches, Master-Slave Flip-Flops, Edge-Triggering, T FlipFlops, J-K Flip-Flops. Registers and Shift Registers, Counters, Decoders, Multiplexer, Programmable Logic Devices(PLDS), Programmable Array Logic(PAL), Complex Programmable Logic Devices(CPLDs),Fieldprogrammable Gate Array(FPGA), Sequential Circuits, Timing Diagrams, The Finite State Machine Model, Synthesis of Finite State Machines. UNIT-III Basic structure of computer: Computer type, Functional Units, Input Unit, Memory unit, Arithmetic and Logic Unit, Output Unit, Control unit, Basic Operational Concepts, Bus structures, software. Machine Instructions and programs: Number, Arithmetic operations and characters: Number Representation, Addition of positive Numbers, Addition and Subtraction of signed Numbers, Overflow of Integer Arithmetic, Characters ,memory locations and addresses, byte Addressability, word Alignment, Accessing numbers, characters and character strings, Memory Operations, Instructions and Instruction Sequencing, Register Transfer notation, Basic Instruction Types, Instruction Execution and Straight-line Sequencing, Branching, Condition Codes, Generating Memory Addresses, Addressing Modes, Implementation of variables and constants, Indirection and Pointers, Indexing and Arrays, Relative Addressing. 7 UNIT-IV THE ARM EXAMPLE: Registers, Memory Access, Data Transfer, Register Structures, Memory Access Instructions, and Addressing Modes, Register Move Instructions, Arithmetic and Logic Instruction: Arithmetic Instruction, Logical Instructions, Branch Instructions, Setting Condition Codes, Assembly Language, Pseudo-Instructions, I/O Operations, Subroutines, Vector Dot Product Program, Byte sorting Program, Linked List Insertion and Deletion Subroutines. Basic I/O Operations, Stacks and Queues, Subroutines. PowerPC Example: Basic PowerPC Processor Organization, Load and Store Instructions, Arithmetic and Logic Instructions, Flow Control Instructions, Compare Instructions, Logic Instructions, Subroutines UNIT-V Memory System: Semiconductor RAM Memories, Internal Organization of Memory Chips, Static Memories, Asynchronous DRAMS, Synchronous DRAMS, Structure of Large Memories, Memory System Considerations, RAMBUS Memory. Read-Only Memories: ROM, PROM, EPROM, EEPROM, Flash Memory, Speed, Size and Cost of Memory. Secondary Storage: Magnetic Hard Disks, Optical Hard Disks, Magnetic Tape Systems. TEXT BOOK: Carl Hamacher, Z. Vranesic, S. Zaky: Computer Organization, 5/e(TMH) REFERENCE BOOK: William Stallings: Computer Organization and Architecture (Design for Performance), 9/e CIII (Practical) _______________________________________________________________Credit 02(20 hours) F.M(60+15) DURATION-3hrs COMPUTER ORGANIZATION LAB Study of TRUTH TABLES of LOGIC GATES (AND, OR, NOT, NAND, NOR, XOR,etc.). Verification of Boolean Expressions: De-Morgan’s Theorem. Construction of Half-Adder and Full Adder. 8 Familiar with characteristics of flip-flop. Counters(Ripple, decade), Converters (Decimal to binary), Decoder(BCD to Decimal), Multiplexer/ Demultiplexer, Multivibrators. _____________________________________________________________ SEMESTER-II ________________________________________________________________ B.SC (COMPUTER SCIENCE) CIV (THEORY) CREDIT-04(40 hrs) F.M(60+15) DURATION-3hrs MICROPROCESSOR UNIT-I An introduction to Processor Design: Processor Architecture and Organization, Abstraction in hardware design, MUO-a simple processor, Instruction Set design, processor design trade-offs, The Reduced Instruction Set Computers(RISC), Design for low power consumption. The ARM Architecture: The Acorn RISC Machine, Architectural Inheritence, The ARM programmer’s model, ARM development tools. UNIT-II ARM Assembly Language Programming: Data Processing Instructions, Data Transfer Instructions, Control Flow Instructions, Writing Simple assembly language programs, ARM organization and implementation: pipelining, types, 3-stage pipelining, 5-stage pipelining, ARM instruction Execution, ARM Implementation, The ARM co-processor interface. UNIT-III The ARM Instruction set: Introduction, Exceptions, Conditional execution, branch and branch with link(B,BL), branch, branch with link and exchange(BX, BLX), Software Interrupt(SWI), Data Processing Instructions, multiple instructions, single word and unsigned byte data transfer instructions, half-word and signed byte data transfer instructions, multiple register transfer instructions, status register to general register transfer instructions and vice-versa, coprocessor instructions. Co-Processor data operations, coprocessor data transfers, coprocessor register transfers, breakpoint instructions(BRK-Architecture v5T only), Unused instruction space, Memory Faults, ARM architecture variants. 9 UNIT-IV Architectural Support for High-Level Languages: Abstraction in software design, data types, floating-point data types, The ARM floating point architecture, expressions, conditional statements, loops, functions and procedures, use of memory, run-time environment, examples and exercises. UNIT-V Thumb Instruction Set: The Thumb bit in the CPSR, The thumb programmer’s model, thumb branch instructions, thumb software interrupt instructions, thumb data processing instructions, thumb single register data transfer instruction, thumb multiple register data transfer instructions, thumb breakpoint instructions, thumb implementation, thumb applications. Architectural support for system development: The ARM memory interface, The Advanced Microcontroller Bus Architecture (AMBA), The ARM reference peripheral specification, Hardware system prototyping tools, The ARM emulator. TEXT BOOK: Steve Furber: ”ARM System-On-Chip Architecture”. CIV (Practical) ______________________________________________________________ Credit 02(20 hours) F.M(60+15) DURATION-3hrs MICROPROCESSOR LAB Familiarity with intel 8086 MP: Assembly language and machine language programming. Writing of simple programs such as addition of integer in arithmetic progression. Finding largest number among a given set of numbers,etc. 10