Wednesday, November 11, 2009

SEMESTER 1




  • BSC 101 Introduction to IT



1. AIMS:


• To create overall generic awareness about scope of the field of IT and to impart basic personal computing skills.


• To create background knowledge for the various courses in the programme.


2. OBJECTIVES:


• To introduce the basic terminology in the field of IT


• To impart functional knowledge about PC hardware, operations and concepts


• To impart functional knowledge in the use of GUI Operating System


• To impart functional knowledge in a standard office package (word processor, spread sheet and presentation softwares) and popular utilities


• To impart functional knowledge about networks and internet.


• To give an overview of computer application in various fields and an overall generic awareness about the scope of the field of IT


3. SYLLABUS


• Module–I: Information Technology; Computer characteristics: Speed, storage, accuracy, diligence; Digital signals, Binary System, ASCII; Historic Evolution of Computers; Classification of computers: Microcomputer, Minicomputer, mainframes, Supercomputers; Personal computers: Desktop, Laptops, Palmtop, Tablet PC; Hardware & Software; Von Neumann model.


• Module–II: Hardware: CPU, Memory, Input devices, output devices. Memory units: RAM (SDRAM, DDR RAM, RDRAM etc. feature wise comparison only); ROM-different types: Flash memory; Auxiliary storage: Magnetic devices, Optical Devices; Floppy, Hard disk, Memory stick, CD, DVD, CD-Writer; Input devices - keyboard, mouse, scanner, speech input devices, digital camera, Touch screen, Joystick, Optical readers, bar code reader; Output devices: Display device, size and resolution; CRT, LCD; Printers: Dot-matrix, Inkjet, Laser; Plotters, Sound cards & speaker.


• Module-III: Software- System software, Application software; Introduction to Operating systems, Programming Languages, Application softwares, Compiler, Interpreter, Assembler, Linker, Databases; Different types of operating systems: single user, multitasking, time-sharing multi-user; Booting, POST; Basic features of two GUI operating systems: Windows & Linux (Basic desk top management); Application softwares: Generic Features of Word processors, Spreadsheets and Presentation softwares; Generic Introduction to Latex for scientific typesetting; Utilities and their use; Computer Viruses & Protection.


• Module–IV: Computer Networks- Connecting computers, Requirements for a network: Server, Workstation, Hub/switch, Network interface card, network operating systems; Internet: brief history, World Wide Web, Websites, URL, browsers, search engines, search tips; Internet connections: ISP, Dial-up, cable modem, WLL, DSL, leased line; email, email software features (send receive, filter, attach, forward, copy, blind copy); Internet security and privacy;


• Module–V: Applications of IT in various fields: office automation, education, entertainment, medicine, commerce, governance, resource management, law and order, communications, science and technology, defense; Historic evolution of IT; Pioneers in IT; Debates in IT : Free software, Computer Creativity, Digital Divide, IT Policy, IT and Development etc; IT in India (major initiatives, key institutions, statistics), IT in Kerala (major initiatives, key institutions, statistics); Careers in IT


4. REFERENCES


4.1 Core References


• Alexis Leon & Mathews Leon, Computers Today, Leon Vikas, Rs. 180


• Curtin, Foley, Sen & Mortin, Tata Mc Graw Hill, Rs 195/-


4.2 Additional References


• Greg Perry, SAMS Teach Yourself Open Office.org, SAMS, ISBN 0672326183


• Alexis & Mathews Leon, Fundamentals of Information Technology, Leon Vikas, ISBN: 08125907890, Rs. 180


• Ron White, How Computers Work (with CD), BPB, New Delhi, ISBN 81-7029-687-0


• George Beekman, Eugene Rathswohl, Computer Confluence, Pearson Education, ISBN 0-13-066185-6


• Peter Dyson, The PC User’s essential accessible Pocket Dictionary, BPB, ISBN 81-7029-730-3, Rs 66/-


• Barbara Wilson, Information Technology: The Basics, Thomson Learning


• John Ray, 10 Minute Guide to Linux, PHI, ISBN 81-203-1549-9, Rs 75


• Ramesh Bangia, Learning Computer Fundamentals, Khanna Book Publishers, ISBN818752252b, Rs 65


• Ramesh Bangia, Learning Windows XP, Khanna Book Publishing Co, ISBN 81-87522-36-4, Rs 65


• Ramesh Bangia, Learning Power Point, Khanna Book Publishing Co, ISBN 81-87522-63-1, Rs 50


• Leslie Lamport, Latex User Guide and Reference Manual, Indian edition, Addison Wesley.


• Brookshear, J. G. (1997), Computer Science: An Overview, Fifth Edition, Addison-Wesley.


• Biermann, A. W. (1990), Great Ideas in Computer Science, The MIT Press, Cambridge, MA


4.3 Internet resources:






• www.fgcu.edu/support/office2000


• www.openoffice.org Open Office Official web site


• www.microsoft.com/office MS Office web site


• www.lgta.org Office on-line lessons


• www.learnthenet.com Web Primer


• www.computer.org/history/timeline


• www.computerhistory.org


• http://computer.howstuffworks.com


• http://vmoc.museophile.org Computer History


• www.dell.com Dell Computers


• www.intel.com Intel


• www.ibm.com IBM


• www.keralaitmission.org Kerala Govt. IT Dept.


• www.technopark.og


5. NOTE ON CURRICULAR TRANSACTIONS:


The course BSC106 is a part and parcel of this course. The practicals in BSC106 are designed to supplement and complement the contents of this course through hands-on practice. On the choice of OS and application softwares, each institution is free to decide, though it is recommended that Linux and Open Office.org (for Open Office, both windows and Linux versions are available) be preferred. In lectures, generic features may be covered rather than product-specific features. In module V, it is also suggested to introduce Latex for which also both windows and Linux versions are available.


6. NOTE ON ASSESSMENT:


The continuous assessment for this course will be based on the following components:


• 3 quizzes (best of 5 will be chosen) – with 10% weightage each


• 1 assignment – with 30% weightage


• 1 test paper- 40% weightage


6.1 Quiz


Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type as exemplified below:


1. The speed of RAM, Hard Disk, CD arranged in decreasing order is:


A. RAM, Hard Disk, CD B. CD, RAM, Hard Disk, C. Hard Disk, CD, RAM


2. Which of the following is the typical RAM capacity of a modern PC (nearest value)?


A.256 MB, B. 256 KB C. 256 GB D 40GB


3. Which of the following is a word processor ?


A. Microsoft Word B. Open Office Writer C. Open Office Presenter D. A & B


6.2 Assignment


As CS106 will provide opportunity for hands-on experience in application softwares and OS, the assignment may focus on the other objectives, as exemplified in the sample below:


This assignment is aimed at giving the students an opportunity to practice some activities that will enable them to aquire knowledge/statistics related to some topics covered in the syllabus. The starred questions may require self-study of topics not covered in the course. Group submission is permitted in this module, considering the nature of the work Deadline: Friday of the 16th week Delayed submission will attract 5% less marks/day. Any request for delayed submission will be entertained only if the work completed as on the deadline is submitted. You should be ready to face a Viva/Quiz based on the project, to prove your role. Grading would be as follows:


A+: Evidence of exceptionally keen involvement and successful completion of all tasks.


A : Evidence of keen involvement and attempt to solve at least some of the starred tasks.


B+: Successful completion of all tasks except starred ones


B : Satisfactory completion of all tasks except starred ones


C : Partial completion of all tasks except starred ones, F : Unsatisfactory


1. From a local firm, collect a quotation for a latest PC. Explain each part of the quotation, and the pros and cons of upgrading/downgrading each component/peripheral or going in for alternatives


2. Choose 3 pioneers in IT from the list appended and prepare a brief biographical sketch highlighting their contribution to IT. Give also details of the search engine, the search strategy adopted and resource web sites used. [ Howard H. Aiken (Havard Mark I), Marc Andreessen (Netscape), John V. Atanasoff, Boris A. Babaian (Russian supercomputers),Charles Babbage (Analytical Engine),Charles W. Bachman (databases), John Backus (BNF),Gordon Bell (Digital),Tim Berners-Lee (WWW),Fred Brooks, Vannevar Bush, David Caminer (LEO),Vinton Cerf (Internet), James Clark (Silicon Graphics and Netscape), Edgar F. Codd (databases) Seymour Cray (supercomputers), Ole-Johan Dahl (Simula), Donald Davies (packet switching), Edsger W. Dijkstra, John Presper Eckert (see also here), Lawrence Ellison (Oracle), Douglas C. Engelbart, Andrei P. Ershov (theroretical programming), Edward A. Feigenbaum (AI), Tommy Flowers (Colossus engineer), Robert W. Floyd, Bill Gates (Microsoft), Richard M Stallman (Freesoftware), Kurt Gödel,Richard W. Hamming, Jacques Herbrand,William R. Hewlett, C. A. R. Hoare (CSP),Marcian E. Hoff Jr, Herman Hollerith, Grace M. Hopper, Kenneth E. Iverson (APL),Steve Jobs (Apple and Next), Tom Kilburn (Manchester), Donald E. Knuth (TeX),Sergei A. Lebedev (MESM computer, Ukraine), Augusta Ada Lovelace, Carver Mead, John McCarthy (AI), Benoit Mandelbrot, John W. Mauchly, Robin Milner (LCF, ML and CCS), Harlan Mills, Marvin Minsky, Charles E. Molnar, Roger Needham, Nicholas Negroponte, Kristen Nygaard, Ken Olsen, David Packard, David Parnas (software engineering) , Blaise Pascal, John Pinkerton (LEO), Jon Postel (Internet), Dennis M. Ritchie (Unix), P. Georg and Edvard Scheutz (Difference Engine, Sweden), Claude E. Shannon (information theory), Sir Clive Sinclair (personal computers), George R. Stibitz, Linus Torwalds (Linux)]


3. * List at least two softwares which support Malayalam word processing and briefly describe the features related to Malayalam in those packages (one could be a software entirely dedicated to Malayalam)


4. Based on information from the internet, give a brief sketch of one of the prominent IT institution/initiative either at the national level or state level.


5. * List at least 5 career opportunities in IT field, describing nature of work, skills and attitudes required, areas of employment, educational opportunities etc.


6.3 Test Paper


This could be modeled after the question paper for the Final assessment, but of maximum 2 hours.


6.3 Final Assessment


Indicative Questions are given for each section (Incomplete)


Section A: 8 out of 10 questions(at least 2 questions from each module); 8*5=40 marks


A1. (a) list 3 types of ROMs, with a one-sentence explanation of each


(b) List 2 system softwares and two application softwares


A2. (a) What do you understand by a single user system and a multi-user system ? Give one example operating system in each category


(b) Under what circumstances would you prefer Latex over Microsoft Word/Open Office Writer ?


A3. (a) Give 2 comparisons between a dial-up and cable modem.


(b) What is OLE ? What is its use ?


Section B: 4 out of 6 questions (at least one question from each module); 4*10=40 marks


B1. Discuss two types of classification of computers


B2. Give detailed specifications of a modern desk-top PC.


B3. Explain briefly the following terms and their inter-relations: Assembler, Compiler, Interpreter.


B4. What are the various accessories required to set up a computer network, briefly explain each.


Section C; 1 out of 2 questions (could be from any module/cover more than one module) 1*15=15


C1. (a) You are given two PC specifications below along with price indication and upgrade prices. Which one will you choose? Justify your option. (10 marks)


(b) Discuss search strategies on the internet, with specific reference to searching for study materials. (5 marks)


(c) Discuss any two special input/output devices for speech/images (5 marks)


BSC 102 Effective Communication



1. AIMS:


To create an opportunity for quantitative assessment of various forms of communication skills and for consolidation and betterment of the same in various situations, to enable students to effectively communicate in their work place in future.


2. OBJECTIVES:


• To introduce theoretical background of communication


• To self-assess various components of communication skills


• To improve listening, reading, writing, and speaking and presentation skills through practice


3. SYLLABUS


Module I: Theoretical background of Communication: Elements in a Communication Process: message, source, encoding, channel, decoding, receiver, noise; Communication Settings: Interpersonal communication, machine-assisted inter-personal communication; mass communication; Barriers to Communication; Active Listening;


Module II: Effective presentation strategies: Defining purpose, analyzing audience, organizing presentation, Kinesics, Proxemics, Paralinguistics, Chronemics; Interviews and Group Communications


Module III: Effective Writing & Reading: words, phrases, sentences, paragraphs, précis writing, reading comprehension.


Module IV: Formal Communications: Letters, Memos, Emails


Module V: Activities: Reading, Writing, Listening and Spoken English Practice


4. REFERENCES


4.1 Core References


• Meenakshi Raman & Sangeeta Sharma, Technical Communication: Principles and Practice, Oxford University Press, ISBN 0-19-566804-9 [Rs 225]


• Leo Jones, Cambridge Advanced English: Students Book with cassette, Cambridge University Press, ISBN 81-7596-046-9 [Rs 125]


• {For Teachers} Leo Jones, Cambridge Advanced English: Teachesr Book, Cambridge University Press, ISBN 81-7596-052-3 [Rs 125]


4.2 Additional References


• R B Rai, On the Path of Success, Rupa & Co, ISBN 81-291-0402-4, Rs 195


• Andrea J Rutherfoord, Basic Communication Skills for Technology, Pearson Education Asia, ISBN 81-7808-281-0


• Robert A. Day, How to Write and Publish a Scientific Paper, 4th Edition, Cambridge University Press, ISBN 0-521-56541-3


• John Kirkman, Good Style: Writing for Science and Technology, Foundation Books, ISBN 0-419-17190-8, Rs 225


• {Specially Recommended for those weak in English} Michael J Wallace, Study Skills in English, Cambridge University Press,ISBN 81-7596-047-7 [Rs 110]


• {Specially Recommended for those weak in English} Adrian Doff and Christopher Jones, Language in Use: Class Room Book, Cambridge University Press, ISBN 0-521-55550-7, Rs 175


• {Specially Recommended for those weak in English} Adrian Doff and Christopher Jones, Language in Use: Self Study Work Book, Cambridge University Press, ISBN 0-521-55549-3, Rs 175


4.3 Internet resources:






www.learnenglish.org.uk


www.english-at-home.com


www.antimoon.com


www.cambridge.org/elt


www.cambridge.org/elt/infotech


www.bbc.co.uk/learningenglish


www.learning-english.com/learnonline


www.wordsmith.org










5. NOTE ON CURRICULAR TRANSACTIONS:


This course is perhaps the single most important course which can enable the student in being successful in professional career. It is well known that students from our part of the country have serious drawbacks in communicating effectively in English, the global language of IT, though they may be good at their mother tongue. A psychological approach is required in this context. That the communication practice is done in English should be rationalized in the context of the Job market requirement. Developing right attitude towards English language is as important as developing skills in communication through the language.


The book recommended as the second core text is 100% activity oriented and may be followed as such. There could be a set of co-curricular activities to aid this course such as a wall-magazine, class magazine, word-a-day presentation, collective preparation and sharing of flash cards for vocabulary practice etc. On vocabulary development, it would also be a good idea to ask students to collect technical vocabulary in IT field and practice them in day-to-day communication (ed. thrashing, cache, impedance, booting …)


6. NOTE ON ASSESSMENT:


The assessment of this course will have to be done in a very different manner from other courses. A set of at least 5 different activities (typically exercises of the type given in core reference book) through which learning takes place could be chosen as assessment components. For each of the component 50% weightage will be for enthusiastic involvement and 50% for performance. For in-semester assessment, best of 4 performances in the activities shall be taken to award the marks. For end-semester assessment one individual and one group activity shall be conducted with 40% and 60% weightage respectively. Some of the activities suggested are:


• Role Play: This is an activity where a group of students will be assigned mock roles (manager, employee, trade union leader; lecturer and a few students etc) and a mock situation with a problem to solve. The assigned students should play out the roles under observation of the class.


• Communication Games: Games such as two students sitting back-to-back with similar sets of building blocks or objects and one of them building a model and asking the other to build the same (in monologue and dialogue modes).


• Resume: Students will design a generic resume and adapt it to specific job requirements.


• Cover Letter: Students will design a cover letter for a mock interview.


• Mock Interview: Working in small groups, design a position opening announcement and structure an interview. Each student will be required to go through the interview process with one of the small groups.


• Technical Presentation: Develop a technical presentation that helps the audience understand a complicated concept or process.


• Proposal/Sales Presentation: Make a proposal to support a organization's charitable activities in a specific manner. Use of visual aids, even to the extent of designing a commercial to play to your audience, is important in this presentation. You must propose that your audience invest in this organization and you must sell your audience on the personal value received by doing so.


• Small Group Analysis: Observing a small group meeting (for example, a committee meeting in the university or public debate) and write an analysis of the communication that transpires during this meeting.


• Public Speech: On an individual basis, every student may make a public speech of very short duration on a topic of their own choice, including introducing themselves. The audience may be asked to give an anonymous feedback to the student.






BSC 103 Digital Electronics



1. AIMS:


• To impart basic knowledge in digital logic and circuits and to introduce basic concepts of data communications.


2. OBJECTIVES:


• To review basic electronics concepts


• To review data representation techniques


• To introduce student to basic concepts of digital logic


• To introduce students to the design of basic logic circuits


• To introduce students to some commonly used combinational and sequential circuits


3. SYLLABUS


• Module–I: Review of Basic Electronics: Review of basic operations of passive and active electronic components: Resistors, Capacitors, Inductors, Diodes, LEDs and Transistors, Operation of rectifiers (half and full wave), RC Coupled Feedback Amplifiers, Oscillators, Multi-vibrators, 555 timer (All the preceding topics shall be covered with stress on behaviour of component/circuit rather than internal details like semiconductor physics).


• Module–II: ; Data Representation & Boolean Algebra: Data Representation: Concept of number system bases – binary, decimal and hexadecimal number systems and conversion between each, Binary arithmetic: Addition, subtraction, 1s and 2s complement system, multiplication, Codes: BCD, ASCII, Floating Point Representation. Boolean Algebra: Basic Functions: AND, OR and NOT, Truth tables; Cominational logic: AND and NOT, AND and OR; Laws of Boolean Algebra; Combinational Logic in Venn diagrams; Other Boolean functions: NAND, NOR, XOR, Implication; Flip Flops and Latches; Realising Boolean Functions: Minterms, SOP Expressions, Maxterms, POS expressions;


• Module III: Digital Circuits: Multiplexer, Adders (full and half), comparators, counters, Decoders and display, shift registers, demultiplexer and key-board encoder; Digital ICs: TTL, CMOS and ECL families, SSI, MSI, LSI and VLSI classification, noise, fanout, power dissipation, propagation delay.


• Module IV: Basic Data Communications: Basic principles of communication, different types of communication media: twisted pair, co-axial cables, fiber optic cables, wireless media.


• Module V: Miscallaneous Topics: Advances in Electronics: Evolution of Transistor Technology, Nano Technology, Molecular Electronics.


4. REFERENCES


4.1 Core References


John R Gregg, Ones and Zeros, IEEE Press/PHI, ISBN 81-203-1640-1, Rs 125


{Also for Lab} K A Krishnamoorthy, Digital Lab Primer, Pearson Education, ISBN81-297-0196-0, Rs 150


4.2 Additional References


N N Bhargava, D C Kulshreshtha, S C Guptha, Basic Electronics and Linear Circuits, Tata McGraw-Hill Publishing Company Limited, New Delhi, Rs. 150


S.K,Venkita Ram, Fundamentals of Digital Electronics and Microprocessors, S.Chand Books, Rs. 225


Hohn D Carpinelli, Computer Systems: Organisation and Architecture, ISBN 81-7808268-3, Rs 295


4.3 Internet resources:






//science-ebooks.com/electronics/


//electronics.howstuffworks.com


www.twysted-pair.com/dictionary.html


www.electronics-tutorials.com


//home.att.net/~basicelectronics/


www.st-andrews.ac.uk/~www_pa/ Scots_Guide/intro/electron.htm


//hyperphysics.phy-astr.gsu.edu/hbase/electronic/etroncon.html


www.lguanalabs.com/maintut.htm


www.interq.or.jp/japan/se-inone/eparts.htm


www.wisd.net/indusrialtechnology/electroniclinks.iitm


www.aw.com/carpinelli


www.prenhall.com/mano


www..prehall.com/wakerly


5. NOTE ON CURRICULAR TRANSACTIONS:


Review of basic electronics should be taught without going into semi-conductor physics. Circuit level operation should be stressed. In digital circuits, teaching should be focused towards the lab experiments of BSC107.


6. NOTE ON ASSESSMENT:


The continuous assessment for this course will be based on the following components:


• 3 quizzes (best of 5 will be chosen) – with 10% weightage each


• 1 assignment – with 30% weightage


• 1 test paper- 40% weightage


6.1 Quiz


Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type.


6.2 Assignment


A sample assignment is given below:


This assignment is aimed at giving the students an opportunity to practice some activities that will enable them to aquire knowledge/experience related to some topics covered in the syllabus. The starred questions may require self-study of topics not covered in the course. Group submission is permitted in this assignment, considering the nature of the work Deadline: Friday of the 16th week Delayed submission will attract 5% less marks/day. Any request for delayed submission will be entertained only if the work completed as on the deadline is submitted. You should be ready to face a Viva/Quiz based on the project, to prove your role. Grading would be as follows:


A+: Evidence of exceptionally keen involvement and successful completion of all tasks.


A : Evidence of keen involvement and attempt to solve at least some of the starred tasks.


B+: Successful completion of all tasks except starred ones


B : Satisfactory completion of all tasks except starred ones


C : Partial completion of all tasks except starred ones


F : Unsatisfactory


1. List all possible logic gates with 4 inputs. Comment on the utility of each


2. Select a Boolean expression in 4 variables and design the circuit for realizing the same using POS and SOP methods and critically compare the two results.


3. Study any 3 non-decimal base number systems and comment on their unique features. Cite real-life use of the number systems, if any. Compare Roman number system with place value number systems.


4. Compare TTL, CMOS and ECL ICs in terms of selected parameters. Justify the selection of parameters of comparison.


5. * Design and fabricate a 6V DC Rectifier for use with electronic system like walkman.


6.3 Test Paper


This could be modeled after the question paper for the Final assessment, but of maximum 2 hours.


6.3 Final Assessment


Indicative Questions are given for each section (Incomplete)


Section A: 10 out of 13 questions(at least 2 questions from each module); 8*3=30 marks


A1. Given below are two circuits with R-L and R-C components connected to an electric bulb. Predict the lighting behaviour of the bulb.


A2. Predict the output of the following logic circuit. Redraw it using NAND gates alone.


A3. What will happen to the operation of a normal amplifier if the DC biasing is removed ?


A4. Demonstrate 2’s Complement subtraction for calculating 22-34.


Section B: 5 out of 8 questions (two questions from each module); 5*6=30 marks


B1. For the amplifier circuit given below, sketch the typical waveforms at points A, B, C and D.


Section C; 1 out of 2 questions (could be from any module/cover more than one module) 1*15=15


C1 (a) Draw the block diagram of an encoder circuit with n outputs and 2n inputs. The output bits taken together as a number should indicate which input line is asserted. Eg. If input line 3 is asserted, output will be 011.




BSC 104 Mathematics for Computer Science I



1. AIMS:


• To introduce mathematical concepts and techniques that have applications in computer science field


2. OBJECTIVES:


• To introduce proof methods in mathematics and mathematical logic


• To review concepts and techniques of set theory, relations and functions


• To introduce various algebraic structures


• To introduce graph theory


• To develop an excitement in mathematics by highlighting its hidden beauty and significance






3. SYLLABUS


• Module–I: Proof Methods, Logic: Formal proofs, Propositional reasoning, Proofs by contradiction, False Proofs, Proofs by Induction, Symbolic Logic: Boolean expressions, Logical Equivalance, DeMorgan’s Law, tautologies, Implications, Arguments, Fallacies, Normal forms in prepositional logic, Resolution






Module–II: Set Theory, Relations, Functions: Review of Set theory concepts, set operations, characteristic functions, fuzzy set theory basics, Relations: operations on relations, equivalence relations & partitions, partial orders, ordered sets, Warshal’s algorithm, Functions, Recursion,


Module–III: Algebraic Structures: Algebra, DeMorgan’s Law, Group, Ring, Polish Expressions, Communication Model and error corrections, Hamming Codes






Module–IV: Graph Theory: Introduction, Graph Notation, Topological sort, Graph Propagation algorithm, Depth First, Breadth-first searches, Shortest Path algorithms, Directed acyclic graphs,






Module V: Miscallaneous Topics: Graphical representations of functions, Graphical interpretation of convergence, Complex Mapping, Fractals, Grammars, Languages and Automaton. Introduction to Mathlab (Matrix, Linear Algebra, Graphics operations)






4. REFERENCES


4.1 Core References


• Rajendra Akerkar, Rupali Akerkar, Discrete Mathematics, Pearson Education, ISBN 81-297-0118-9, Rs 150


4.2 Additional References


Rm Somasundaram, Discrete Mathematical structures, PHI, ISBN 81-203-2201-0, Rs 175


Calvin C. Clawson, Mathematical Mysteries, The beauty and magic of Numbers, Viva Books Pvt Ltd,, ISBN 81-7649-831-9 Rs 295


Rudra Pratap, Getting Started with MATLAB, Oxford University Press, ISBN 0-19-515014-7, Rs 275


4.3 Internet resources:






www.prenhall.com//goodaire


www.ams.org/mathweb


www.falstad.com/mathphysics.html


//cs.jsu.edu/mcis/faculty/leathrum/Mathlets


www.ealnet.com/ealsoft/fracted.htm Fractals


www.math.umass.edu/~mconnors/fractal/fractal.html


//info.lboro.ac.uk/departments/ma/gallery/index.html


www.ee.umd.edu/~yavuz/logiccalc.html logic calculator


//archives.math.utk.edu/visual.calculus/


www.utm.edu/departments/math/graph/ www.math.odu.edu/~bogacki/cgi-bin/lat.cgi


Linear Algebra Tool Kit


5. NOTE ON CURRICULAR TRANSACTIONS:


Mathematics is traditionally taught in an abstract way, without relating it to day-to-day life and applications in the field of concern, viz, computer science. While proofs are unavoidable, they should by no means become the main stay of learning and assessment. An insight into mathematical principles which enable learners to relate it to physical world is to be attempted. The applets and simulations suggested in the internet resources are an excellent beginning for this transformation in approach. It is also recommended that, subject to availability, demonstration on softwares like MATLAB/ MATHCAD/ MAPLE are made a part of lecturing.


6. NOTE ON ASSESSMENT:


The continuous assessment for this course will be based on the following components:


• 3 quizzes (best of 5 will be chosen) – with 10% weightage each


• 1 assignment – with 30% weightage


• 1 test paper- 40% weightage


6.1 Quiz


Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type.


6.2 Assignment


Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students.


6.3 Test Paper


This could be modeled after the question paper for the Final assessment, but of maximum 2 hours.


6.3 Final Assessment


Section A: 10 out of 13 questions(at least 2 questions from each module); 10*3=30 marks


This section should give an opportunity for the student to demonstrate his/her knowledge


Section B: 5 out of 8 questions (two question from each module); 5*6=30 marks


This section should be designed to test the application skill of the student in a standard situation


Section C; 1 out of 2 questions (could be from any module/cover more than one module) 1*15=15


This section should present a challenge, an unstructured, non-standard problem






BSC 105 Humanities I



1. AIMS:


• To create an interdisciplinary perspective


• To create general awareness about humanities


• To impart necessary basic knowledge for futuristic technologies and applications which hinge on humanities.


2. OBJECTIVES:


• To introduce students to basic concepts, scope, nature and methods of Sociology, Political Sciences, Law, Economics and Linguistics.


3. SYLLABUS


• Module–I: Introduction to Sociology: Definition, scope, nature, schools of sociology, methods of sociology, society, social structure, social institutions, social control, social change.


• Module–II: Introduction to Political Sciences: Introduction to Political Theory : Nature of State, Brief introduction to western and Indian political thoughts, Legal and political sovereignty, Totalitarianism ; Political Organisation: Organisation of Govt., Organs of Govt, Representation.


• Module–III : Introduction to Law: Definition, nature and functions of Law; Ideas of Legal Systems, Indian Legal system; Legal, Legislative, Judicial and Administrative Processes; Legal Materials;


• Module–IV: Introduction to Economics: Definition and Nature of Economics, General Principles, Different forms of business organization, Free enterprises, planned economy and mixed economy, Economic Growth and Economic Development.


• Module–V: Introduction to Linguistics: Definition and scope of Linguistics, The wonder of human speech and language, language families, Branches of Linguistics: morphology, syntax, semantics, pragmatics and discourse.


4. REFERENCES


4.1 Core References


• G.V. Reddy, Sociology-I: General Principles, Sujatha Law Books, Hyderabad, [Rs 50]


• G.V. Reddy, Economics-I: General Principles, Sujatha Law Books, Hyderabad, [Rs 90]


• G.V. Reddy, Political Science-I: Political Theory and Organisation, Sujatha Law Books, Hyderabad, [Rs 60]


• A Gopinatha Pillai & S Lekshmi, Introduction to Legal Process, VJL Publications, Thiruvananthapuram, [Rs 55]


• Pushpinder Syal, D V Jindal, An Introduction to Linguistics, PHI, ISBN 81-203-1265-1 [Rs 120]


4.2 Additional References


• Martin Albrow; Sociology: The Basics (Third Edition), Foundation Books, ISBN 0-415-17264-0; [Rs 295]


• D.P. Mukerji, Basic Concepts in Sociology, Rupa, ISBN 81-291-0343-5 [Rs 195]


• John Seely, Law in Everyday Life; Oxford University Press; ISBN 019566939-8 [Rs 145]


• R L Trask, Language: The Basics (Second Edition), Foundation Books, ISBN 0-415-20089-X; [Rs 295]






5. NOTE ON CURRICULAR TRANSACTIONS:


It is not intended that a comprehensive or deep coverage of any of the above subjects is done. A series of about 5 fascinating lectures that create an interest in the topic and motivate students to read and think further will be sufficient. Core references are suggested in the absence of better alternatives at low cost, and are mostly examination-oriented presentations. Students should be encouraged to read informal and imaginative material suggested in additional references and also from the Internet.






6. NOTE ON ASSESSMENT:


Humanities –I will be evaluated completely internally. Each module will have one quiz, 1 assignment and 1 test paper. The quiz will be to test familiarity with very basic terminology and concepts. Test paper will be of maximum 2 hours duration and will be based on generic questions. Both tests and quizzes should have 50% choice of questions.






6.1 Model Questions for Quiz: [10-20 questions for each module, conducted at the end of the lectures related to the module]






1. The source of authority under the constitution is


A. People B. Parliament C. Legislative assembly






2. Indian Constitution is


A. Federal B. Quasi Federal C. Traditional






3. Which of the following is an organ of the Govt


A. Legislature B. Judiciary C. Administration D. All the above






4. Which of the following is related to economic growth ?


A. National Income, B. Employment, C. capital, D. All the above






5. Which of the following is not a social institution ?


A. family B. Marriage C. School/College D Temple E Company






6. Which of the following is roughly corresponds to grammar of language ?


A. Phonetics B. Syntax C. Sematics D. Pragmatics






6.2 Sample Assignments: All assignments should be preceded by assessment guidelines and submission policy suggested for other subjects. All assignments should be done in groups of 3 or 4 students chosen at random (by taking lots) and one evaluation component could be a 10 minute presentation where each student of the group takes part.


1. Meet a lawyer and based on discussions with him/her and also based on reference material, create a document describing the process of filing a civil suit, in layman’s language.


2. Select any two Indian schools of Political thoughts and prepare a document comparing them on the following parameters: equality, scientific temper, evidence of success based on contemporary existence, economic principles, growth etc.


3. Conduct a survey among families of students in your class to bring out their outlook on the nuclear vs joint families. Comment on the findings.


4. Conduct a study on the contemporary transformation of Malayalam language based, vis-à-vis, the adoption of English words and text in the print and visual media.


5. Collect an inventory of Malayalam software tools/ facilities which support Malayalam in standard software packages, bringing out clearly where further development is necessary.


6. Based on the study of economic development, collect facts and figures related to economic growth of Kerala and comment on the same.






6.3 Test Paper Sample questions: [5-10 questions for each module, conducted at the end of the lectures related to the module. It is advised that the lecturer provides a model question paper]


1. Briefly Discuss any 3 types of social institutions


2. Compare the joint family and nuclear family


3. Discuss three chosen classifications of law


4. Briefly discuss salient features of Indian Legal System.


5. Among the Indian political thoughts, discuss your favourite school bringing out its strength and weakness


6. What are the salient features of a mixed economy ?


7. What are linguistic pecularities of Indian languages ?


8. Discuss basic classification of human sounds


BSC106. Basic Computer Lab-I



1. AIMS:


• To gain hands-on knowledge in basic operations of a GUI Operating System and standard application softwares and utilities






2. OBJECTIVES:


After the completion of this course, the student should be able to:


• Create, Save, Copy, Delete, Organise various types of files and manage the desk top in general


• Use a standard word processing package exploiting popular features


• Use a standard spread-sheet processing package exploiting popular features


• Use a standard presentation package exploiting popular features


• Use popular utilities on a PC such as file compressor, CD writer, Media Player etc


• Browse the internet and search for required information successfully






3. SYLLABUS


1 Lab Sessions to Practice the following features (depending on availability) on a selected GUI Operating System: Mouse Practice, Starting, Login, Shutdown, Exploring Directories, Resizing, Moving, Minimizing, closing of software windows, familiarization with file icons, Launching Applications, Deleting, Renaming files, Managing Directories, Searching for files, Using Accessories.


2 Lab Sessions to Practice the following features (depending on availability) on a selected Word Processor: General: Menus, Shortcut menus,Toolbars, Customizing toolbars, Creating and opening documents, Saving documents, Renaming documents, Working on multiple documents, Close a document ; Working With Text : Typing and inserting text, Selecting text, Deleting text, Undo, Formatting toolbar, Format Painter, Formatting Paragraphs: Paragraph attributes, Moving, copying, and pasting text,The clipboard, Columns, Drop caps; Styles : Apply a style, Apply a style from the style dialog box,Create a new styles from a model, Create a simple style from the style dialog box, Modify or rename a style, Delete a style; Lists : Bulleted and numbered lists,Nested lists, Formatting lists Tables :Insert Table button, Draw a table,Inserting rows and columns,Moving and resizing a table,Tables and Borders toolbar,Table properties Graphics :Adding clip art,Add an image from a file,Editing a graphic, AutoShapes; Spelling and Grammar: AutoCorrect, Spelling and grammar check, Synonyms, Thesaurus; Page Formatting: Page margins, Page size and orientation, Headers and footers, Page numbers, Print preview and printing; Macros :Recording a macro,Running a macro; Table of Contents: Mark TOC entries; Generate a table of contents;


2 Lab Sessions to Practice the following features (depending on availability) on a selected Spread Sheet: Spreadsheet Basics: Screen elements,, Adding and renaming worksheets, The standard toolbar - opening, closing, saving, and more; Customising:, Menus, Customize toolbars, Recording a macro, Running a macro Modifying A Worksheet, Moving through cells, Adding worksheets, rows, and columns, Resizing rows and columns, Selecting cells, Moving and copying cells,, Freeze panes; Formatting Cells: Formatting toolbar, Format Cells dialog box, Dates and times; Styles: Style dialog box,Create a new style,Format Painter, AutoFormat Formulas and Functions: Formulas,Linking worksheets, Relative, absolute, and mixed referencing, Basic functions, Function Wizard, Autosum, Sorting and Filling: Basic ascending and descending sorts, Complex sorts, Autofill;Alternating text and numbers with Autofill, Autofilling functions; Graphics; Adding clip art; Add an image from a file; Editing a graphics; AutoShapes;Charts: Chart Wizard;Resizing a chart;Moving a chart, Chart formatting toolbar; Page Properties and Printing:Page breaks, Page orientation, Margins, Headers, footers, and page numbers, Print Preview, Print; Keyboard Shortcuts






2 Lab Sessions to Practice the following features (depending on availability) on a selected Spread Sheet: Spreadsheet Basics: AutoContent Wizard, Create a presentation from a template, Create a blank presentation, Open an existing presentation, AutoLayout, Presentation Screen: Screen layout, Views, Working with Slides: Insert a new slide, Applying a design template, Changing slide layouts, Reordering slides, Hide slides, Create a custom slide show, Edit a custom slide show Adding Content: Resizing a text box, Text box properties, Delete a text box, Bulleted lists, Numbered lists, Adding notes, Video and Audio Working with Text: Adding text, Editing options, Formatting text, Replace fonts, Line spacing, Change case Spelling check Color & Background: Color schemes, Backgrounds, Graphics, Adding clip art, Adding an image from a file, Editing a graphic, AutoShapes, WordArt Slide Effects: Action buttons, Slide animation, Animation preview, Slide transitions, Slide show options,Master Slides, Slide master, Header and footer, Slide numbers, Date and time Saving and Printing, Save as a web page, Page setup, Print


2 Lab Sessions to Practice the following features (depending on availability) on a selected Browser: Standard Tool Bars: Basic Browsing Buttons: forward, backward, home, favourites, adding to favourites, stop, save, save as, Saving an Image from the Web, printing, Specifying a Home Page, Internet options on security, content, connections, program and other advanced options. Browsing: Using Web URLs, Anatomy of a URL, Membership Websites: Signing up for email service, Downloading and installing Plug-Ins; Searching: Academic Search on the web; Advanced search features.


1 Lab Session to Practice the following with Utilities:


• Play/use a variety of content on a standard PC


• Compress and decompress a file


• Burn a CD


• Convert between standard image file formats


4. Internet Resources


www.fgcu.edu/support/office2000


www.openoffice.org Open Office Official web site


www.microsoft.com/office MS Office web site


www.lgta.org Office on-line lessons


www.learnthenet.com Web Primer


5. NOTE ON CURRICULAR TRANSACTIONS:


Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a modification in the standard experimental set up and then should test it out and justify the result.


6. NOTE ON ASSESSMENT:


The In-semester laboratory assessment will be based on the following components:


2.5% for satisfactory conduct of each experiment (maximum 25%)


25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).


25% for lab record, with emphasis on recording of experimentations and their justifications.


25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions


The End-semester assessment shall be based on the following:


25% for a common Quiz conducted on all the experiments with 10-20 questions


75% for successful conduct of assigned tasks as follows:


30% for designing the circuit and experimental set up


30% successful set up, conduct and correct results


15% for viva-voce

BSC107. Digital Electronics Lab



1. AIMS:


• To provide hands-on practice of the basic knowledge in digital logic and circuits


2. OBJECTIVES:


• To provide hands-on practice basic logic circuits


• To provide hands-on practice in some commonly used combinational and sequential circuits


3. SYLLABUS


The laboratory work will consist of 15 experiments


1. Study and Testing of measuring instruments: Digital and Analog multimeters, CROs and Signal Generators – measurement of AC & DC voltages, measurement of frequency.


2. Study of Components: Identification and testing of resistors, capacitors, inductors, diodes, LEDs & transistors


3. Diode characteristics and half-wave rectification


4. Full wave rectifier


5. R-C coupled CE Amplifier


6. Familiarisation of Components and Gates: Identify and test passive and active components, find noise margin and fan-in/out of TTL gates


7. Study of Logic Gates: Determination truth table of basic gates, realization of Boolean functions, test pulse operation


8.Realisation of given truth table with minimum number of gates


9. Implementation of a 3x8 decoder, BCD to 7-segment decoder


10. Generating a Boolean expression with a multiplexer


11. 4-line to 16 bit decoder; Key board encoder/decoder


12 8-bit comparator


13 Clocked JK Flip Flop


14 8-bit ripple counter


15. Parallel-in, serial-out, 4-bit shift register


4. References:


Core Reference:


K A Krishnamoorthy, Digital Lab Primer, Pearson Education, ISBN81-297-0196-0, Rs 150


Additional Reference:


K. A. Navas, Electronics lab manual Vol. I, (3rd Edition), Rajath Publishers, Eranakulam, Rs 150


5. Internet Resources:


http://www.electronics-lab.com


6. NOTE ON CURRICULAR TRANSACTIONS:


Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a modification in the standard experimental set up and then should test it out and justify the result. Students shall be supplied with handouts for each experiment specifying the aims and objectives of the experiment, observations to be made, and questions to be answered


7. NOTE ON ASSESSMENT:


The In-semester laboratory assessment will be based on the following components:


2.5% for satisfactory conduct of each experiment (maximum 25%)


25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).


25% for lab record, with emphasis on recording of experimentations and their justifications.


25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions


The End-semester assessment shall be based on the following:


25% for a common Quiz conducted on all the experiments with 10-20 questions


75% for successful conduct of assigned tasks as follows:


30% for designing the circuit and experimental set up


30% successful set up, conduct and correct results


15% for viva-v





 SEMESTER 2


BSC 201 Introduction to Programming

1. AIMS:

To expose students to algorithmic thinking and problem solving and impart moderate skills in programming in a industry-standard programming language



2. OBJECTIVES:

• To expose students to algorithmic thinking and algorithmic representations

• To introduce students to basic data types in C.

• To introduce students to basic control structures in C.

• To introduce students to structured programming concepts

• To introduce students to standard library functions in C language

3. SYLLABUS

• Module–I: Introduction to programming: Algorithm & Flow charts: Definitions, Symbols used to draw flowcharts, Examples. High-level and Low-level Languages, Generations of Programming Language, Language translators: Assemblers, Compilers Interpreter (Only concept and differences), Editor, Program Writing – Structure of the Program, top-down design, Source code, Object code, Executable file, extensions of different files, Program Compilation, Running of a Program; Header file concept.

• Module–II: Basic elements: Variables and Constants, Rules for naming the Variables/Identifiers; Basic data types of C, int, char, float, double; storage capacity – range of all the data types; Storage classes; Operators and Expressions: Assignment Operator, Arithmetic Operator and Arithmetic exp., Relational Operator and Relational exp., Logical Operator and how it is used in condition, Expression Evaluation (Precedence of Operators); data types-basic data types, variable declarations, statements, simple I/O statements. Control structures, if, if else, switch-case, for, while, do-while, break, continue.

• Module-III: Arrays, Structures, Pointers: One and two dimensional arrays, declaration, initialization and processing; Strings: String handling functions; Structures and unions; Pointers: The & and * Operators, pointer declaration, assignment and arithmetic, visualizing pointers, array & pointer relationship, dynamic memory allocation, pointer to arrays, array of pointers.

• Module–IV: Functions: Library, User defined functions, declaration, definition & scope, recursion, call by value, call by reference.

• Module V: Advanced features: file handling: text and binary files; bitwise operations; Preprocessor directives: #include, #define, macros with arguments, the operators # and ##, conditional compilations, multiple file programming; program verification, algorithm efficiency analysis; int86 functions and graphic functions (introduction only).

4. References

4.1 Core References

Yashvant Kanetkar, Let us C, BPB Publications, 3rd Edition, Rs 165/-

Ashok N. Kamthane, Programming with ANSI and Turbo C, Pearson Education,ISBN 81-7808-585-2, Rs 195/-

4.2 Additional References

NIIT, Programming with C in Linux, Prentice Hall of India, ISBN 81-203-2388-2, Rs 175/-

Noel Kallicharan, C By Example, Cambridge University Press, Rs 185/-

Deitel & Deital, C: How to Program, Pearson Education, ISBN 81-7808-383-3, Rs 325/-

Tom Swan, GNU C++ for Linux, PHI [Rs 425]

Schildt, Herbert, C The Complete Reference. 4th ed., 2000, Osborne McGraw-Hill, ISBN 0072121246.

4.3 Internet resources:

www.cprogramming.com

www.programmersheaven.com

comp.lang.c newsgroup

www.cplusplus.com

//cwx.prenhall.com/bookbind/pubbooks/deitel



5. NOTE ON CURRICULAR TRANSACTIONS:

Teaching of language can be done in two ways: a syntax-centrically and logic centrically. Being the first language, syntax cannot be wished away, but must not be made the corner-stone of the course. It is advisable that handouts are used in the lecture classes to cover large number of examples in a short time. For instance, after discussing basic array concepts and syntax, a handout as follows is recommended:

Lecture Handout: Sample content

Here is a program to read 5 integer numbers and process them using arrays.

#include

main()

{ int n[5], i;

printf("Enter 5 integers\n");

for (i=0; i<5; i++)

{

scanf("%d", &n[i]);

}

for (i=0; i<5; i++)

{

…………………………

}

}



Now complete the program for the following tasks:

a) Print out all numbers.

b) Print out numbers greater than 25.

c) Print out number not less than 50.

d) Print out numbers greater than 25 and less than 50.

e) Print out numbers which are > 25 and less than 50 or greater than 75 and less than 100.

f) Print out numbers which are odd.

g) Print out numbers which are even.

h) Print out numbers which are multiples of 7.

i) Print out numbers which are multiples of 3 and 6.

j) Print out numbers which are multiples of 3 or 5.



The topic of pointers usually is considered as a challenge by the students as well as teachers. It is advised that students be asked to draw memory diagrams and graphically allocate memory using hypothetical addresses and answer all pointer-related questions based on these visualizations.



#include

main()

{

int x;

int *p;

x=100;

p=&x;

printf(“x=%d\n”,x); x=100

printf(“p=%d\n”,p); p=275675

printf(“*p=%d\n”,*p); *p=100

}

Students must be given opportunity to learn programming through a variety of ways: (1) Writing programs to solve structured problems at first and unstructured problems later, (2) Reading programs written by peers and debugging and/or predicting output, (3) Running programs (4) Visualising program constructs

6. NOTE ON ASSESSMENT:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 20% weightage

• 1 test paper- 30% weightage

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. A sample quiz for the topic of Loops: for, while, do-while is given below:

Each question carries 10 marks.



1. for (i=0; i<10; i++);

{

printf(“%d\n”,i);

}

What, if any, is wrong with the above for loop?

(A) Nothing

(B) There is no scanf (“%d”, &i)

(C) There is a semi-colon after the for statement.

(D) There is no semi-colon after closing}.

2. for (i=0; i<10; i++)

{

printf(“%d\n”, i+2);

}

What will be the output of the above for loop?

(A) 2,4,6,8,10 (B) 2,3,4,5,6,7,8,9,10

(C) 2,3,4,5,6,7,8,9,10,11 (D) 0,2,3,4,5,6,7,8,9,10,11

3. The following for loop will print out

for (i=0; i<10; i++)

{

if (i%3==0) { printf (“%d\n”, i); }

}

A) 0, 1, 2, 3 B) 0, 3, 6, 9

B) 3 C) 3, 6, 9

4. The following for loop will print out

for (i=0; i<10; i=i+2)

{

printf (“%d”,i*i);

}

(A) 0,1,4,9,16,25,36,49,64,81,100 (B) 0,1,4,9,16,25,36,49,64,81

(C) 0,4,16,36,64 (D) 0,4,16,36,64,100

5. The following loop will print out

for (i=0; i<10; i++)

{

if (i%2==0) { printf(“%d\n”,i+5); }

}

(A) 5,6,7,8 (B) 0, 2, 4, 6, 8

(C) 5, 7, 9, 11, 13 (D) 7, 9, 11, 13



6. The following loop will print out

for (i=0; i<5; i++)

{

printf (“%d\n”, i%3);

}

(A) 0,3 (B) 0,1,2,2

(C) 0,1,2,0,1 (D) 0,1,2,1,4,5



7. The following loop will print out

for (i=0; i<6; i++)

{

if (i==5) { printf (“You can see this message once”); }

if (i==6) { printf (“You can see this message twice”); }

}



(A) You can see this message once

(B) You can see this message twice

(C) A and B

(D) Nothing



8. The following while loop will run how many times?

i=6;

while (i>0)

{

printf (“ %d”,i);

i++;

}

(A) 0 (B) 1 (C) 6 (D) Infinite



9. What is the problem, if any, with the following loop?

i=0;

do {

printf (“%d”,i);

i++;

}while (i<10);



(A) Nothing

(B) There is a semi-colon at the end of the loop.

(C) The condition (i<10) should be given at the beginning of the loop.

(D) Both B & C.

10. What will be the output of the following for loop?

for (i=0; i<10; i++)

{

if (i==5) { continue; }

printf (“%d”, i);

}

(A) 0,1,2,3,4 (B) 0,1,2,3,4,6,7,8,9

(C) 5 (D) 0,1,2,3,4,5,5,5,5,5





6.2 Assignment

Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.

6.3 Test Paper

This could be modeled after the question paper for the Final assessment, but of maximum 2 hours.

6.3 End-sem Assessment

Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30

This section should give an opportunity for the student to demonstrate his/her knowledge

A1. Given i=2, j=3 and k=6, what are the results of the following :

( i > j) && (i * j <=k)

(!( i > j) ) && ( i * j <=k)

(!( i > j))

( i * j <=k)

(( i > j) && ( i <= k))

( i * j <= k)

A2. Study the program below then predict the final value for the a, b, and c.

# include

main( )

{

int a, b, c;

a = 12;

b = 3;

c = a + b;

c = a - b;

c = a * b;

c = a / b;

c = a % b;

c = 12*a + b/2 - a*b*2/(a*c + b*2);

c = c/4+13*(a + b)/3 - a*b + 2*a*a;

a = a + 1;

b = b * 5;

printf(“a = %d\n b = %d\n c = %d\n”, a, b, c);

}



A3. What is the out put of the following program ? How it be different if the break statement is replaced by a continue statement ?

#include

main( )

{int i;

for (int i = 1; i <= 10; i++ )

{

if (i == 5 ) { break; }

printf(“%d\t”, i);

}

}

A4. Predict the output of the following program segment

int i, j, *ip;

i=1;

ip=&i;

j=*ip;

*ip=0;

printf(“The value of i %d\n”, i);

printf(“The value of j %d\n”, j);



Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.

This section should be designed to test the application skill of the student in a standard situation

B1. Write a program to read 10 int number into an array N and then

a. Print out all numbers.

b. Print out numbers greater than 25.

c. Print out number not less than 50.

d. Print out numbers greater than 25 and less than 50.

e. Print out numbers which are > than 25 and less than 50 or >than 75 and less than 100.

f. Print out numbers which are odd.

g. Print out numbers which are even.

h. Print out numbers which are multiples of 7.

i. Print out numbers which are multiples of 3 and 6.

j. Print out numbers which are multiples of 3 or 5.



Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15.

This section should present a challenge, an unstructured, non-standard problem

Incomplete

C1 (a) Consider the following requirements to store and process data. In each case suggest how you will store the data, justifying your choice

• Examination marks for processing the results

• Examination marks to be made available at a touch screen kiosk for each student to get his/her marks

• Ban account details for each customer to verify

• Text file created by user for providing feedback













BSC 202 Computer Organization & Architecture

1. AIMS:

• To impart knowledge in the functional organization of physical components and architecture of a computer.

2. OBJECTIVES:

• To familiarize the basic terminology of computer hardware.

• To understand the functional units of a standard PC.

• To understand the basic working of a CPU..

• To understand the memory organization in a computer.

• To explain how input/output devices are organized and managed.

• To introduce the concept of parallel processing and multiprocessing.

3. SYLLABUS

• Module–I: Functional units of a PC; basic operational concepts; memory address, word, instruction set, programs, assembly language instructions; CPU registers; addressing modes, instruction format, system buses, instruction cycle, memory, example-organization of 8085 computer; encoding of information, unsigned numbers, signed numbers, operations, Booth’s algorithm (circuit design and RTL not required), floating point number representation, operations; BCD, pipelining of operations.

• Module–II: Processing unit: Specifying a CPU, design of a simple CPU, fetching instructions, decoding and executing instructions, branching, design of a simple ALU, design of control unit, multiple buses in CPU, internal architecture of 8086. Microprogram, micro sequencer, micro subroutine, microinstruction format, design and implementation of a simple microsequencer; microcprogrammed control and hardwired control, RISC & CISC (feature-wise comparison only); Pentium microprocessor.

• Module–III: Memory: memory hierarchy, speed, size, cost; RAM, ROM, internal chip organization; cache memory, operations in cache memory, hit ratio, multilevel organization of cache memory; virtual memory, page fault, TLB, segmentation, memory protection, multiple module memories, memory interleaving.

• Module–IV: Input Output operations: Accessing I/O devices; Asynchronous data transfers, handshaking, programmed I/O (concept only), polling, interrupts: types of interrupts, processing interrupts, priority, interrupt hardware, ISR, daisy chaining; Direct memory access, DMA controller, transfer modes, I/O processors, serial communication, UART, standards: RS-232, USB.

• Module–V: Pipelining and Parallel processing; parallelism in uniprocessor systems, organization of general-purpose multiprocessors; RTL, VHDL; hardware essentials: CPU sockets; FDC, HDC, I/O cards, display adapter, modem; motherboard architecture; bus system: PCI, AGP, USB; clustering, grid computing; Computer faults: hardware & software; types of faults; diagnostic programs and tools; printer problems; monitor problems, problem diagnosis, organization of a modern PC.

4. REFERENCES

4.1 Core References

• Ramesh Bangia, Learning PC hardware, Khanna Publishing Co., ISBN 81-87522-11-9, Rs. 70/-

• Carpinelli, John D., Computer systems Organization & Architecture, Pearson Education Asia, ISBN 81-7808-268-3, 2001. [Price Rs. 295/-]

4.2 Additional References

• William Stallings, Computer Organisation & Architecture, 6/e, Pearson Education, ISBN 81-7808-792-8, Rs 250/-

• Carl Hamacher, Vranesic, Zaky, Computer Organization 4/e, McGraw-Hill, ISBN 0-07-114323-8

4.3 Internet resources:

www.aw.com/carpinelli

www.prenhall.com/mano

www.williamstallings.com/COA6e.html

5. NOTE ON CURRICULAR TRANSACTIONS:

Demonstrations should be arranged as much as possible on concepts contained in the syllabus as applied to personal computers. For instance (1) CPU registers should be displayed using debug commands in MS DOS Window in Windows PCs (2) Memory settings could be changed and corresponding performance change demonstrated.

6. NOTE ON ASSESSMENT:

6.1. Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions will be of objective type as exemplified below.

1. The memory space that can be addressed using a 16 line address bus is

A. 168 B. 216 C. 216 -1 D. 216-1

2. The display adapter used for a PC monitor popular today is

A. CGA B. VGA C. SVGA D. EGA

6.2 Assignment

Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Some tasks that could be given are exemplified below:

1. Observe the components of a PC in your lab and explain the details of each including motherboard architecture, bus systems, slots etc. Find out the size of RAM, Hard disk and cache memory.

2. Collect the details of different PC components available in current market. Bring out a comparison chart based on various parameters like price, speed, data rate etc. Prepare a component wise configuration for an ideal PC in your Lab.

3. Prepare a hardware trouble shooting quick reference for a PC.



6.3 Test Paper

This could be modeled after the question paper for the final assessment, but of maximum two hours.

6.4. Final Assessment

Section A: 10 out of 13 questions., 10 x 3 = 30

A1. What is the difference between DRAM and SRAM in terms of speed, size and cost ?

A2. Mention any 4 special purpose registers and their function in CPU.

A3. Briefly define the 7 RAID levels

A4. List and briefly define 3 techniques for performing I/O.

A5.

Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.

B1. What differences between a CD and a DVD account for the larger capacity of the latter ?

B2. Explain the concept of virtual memory. What is the role of memory management unit in virtual memory?

B3. What is the role of DMA in I/O operations?

B4. Explain any one RISC strategy to minimize register-memory operations

Section C: 1 out of 2 questions. 1 x 15 = 15.

C1. (a) Discuss why in virtually all systems that include DMA modules, DMA access to main memory is given higher priority than CPU access to main memory

(b) Design a 16-bit memory of total capacity 8192 bits using SRAM chips of size 64x1 bit. Give the array configuration of the chips on the memory board showing all required input and output signals for



BSC 203 Numerical Methods

1. AIMS:

• To expose students to computer-based numerical solutions.



2. OBJECTIVES:

To impart basic theoretical knowledge underpinning numerical solutions to the following problems and also to provide an opportunity to apply programming skills acquired in course BSC 201 to solve these problems:

• Non-linear equations

• Interpolation

• Numerical Integration and differentiation

• Matrix computations

• Differential equations



3. SYLLABUS

• Module–I: Introduction and Non-linear Equations, Interpolations: Introduction to Numerical Methods: Nature of numerical problems; computer based solutions; number representations; Notions of accuracy, convergence, efficiency, complexity; Solutions of Non-linear equations: (Bisection method; Regula-Falsi; Newton-Raphson; Secant; Sucessive approximation method; Schroder’s Method; Bairstrow’s method); Interpolation techniques: Linear Interpolation; Newton’s forward and backward formulae; Lagrange’s interpolation; Bessel Functions; Linear Regression; Cubic Splines; Chebyshev Polynomial.

• Module–II: Numerical Integration & Differentiation: Concept of differentiation and Integration, graphical interpretation; Cubic Spline based Numerical Differentiation; Numerical Integration: Trapezoidal, Simpson’s Romberg, Gaussian, and Filon’s methods.

• Module–III : Matrix Computations: Addition, subtraction, transpose, multiplication of matrices; Matrix-based solutions of simultaneous linear equations: Gauss Jordan Method; Gauss elimination with back-substitution; LU Decomposition method

• Module–IV: Differential Equations: Ordinary Differential Equations: Picard’s method; Euler’s and modified Euler’s method; Runge-Kutta; Predictor-Corrector methods; Partial Differential Equations: Jacobi and Gauss-Siedel methods.

• Module–V: Sorting & Miscallaneous topics: Sorting algorithms (bubble; shell; quick; selection; heap sorts); Introduction to Genetic algorithm for Optimisation;



4. REFERENCES

4.1 Core References

• E V Kameshwar, Numerical Techniques in C, BPB Publications, Rs 75/-

• N Datta, Computer Oriented Numerical Methods, Vikas, ISBN 81-259-1424-2, Rs 175

4.2 Additional References

V. Rajaraman, Computer Oriented Numerical Methods, 3/e, PHI, ISBN 81-203-0786-0, Rs 59/-

4.3 Internet resources:

www.math.jct.ac.il/~naiman/nm/

www.math.odu.edu/~bogacki/videnum : Virtual Demo of Numerical Methods

5. NOTE ON CURRICULAR TRANSACTIONS:

Deep coverage of back ground mathematics is not intended. Virtual demo recommended above should be used for encouraging visualization of the techniques. C Programming language should be used as working language in assignments. The code for tasks such as measuring execution time etc should be provided by the teacher leaving the exploration of methods implemented to students. In some cases, spread sheets could also be effectively used for learning and experimentation.

6. NOTE ON ASSESSMENT:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 30% weightage

• 1 test paper- 40% weightage

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities.

6.2 Assignment

Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.

6.3 Test Paper

This could be modeled after the question paper for the Final assessment, but of maximum 2 hours.

6.4 End-semester assessment

Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30

This section should give an opportunity for the student to demonstrate his/her knowledge

Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.

This section should be designed to test the application skill of the student in a standard situation

Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.













BSC 204 Operating Systems and System Software

1. AIMS:

To introduce students to basic functions and the theoretical underpinnings of modern operating systems

2. OBJECTIVES:

To introduce students to:

• Functions of operating systems as a resource manager

• Strategies for constrained resource allocation

• Strategies for process scheduling

• Memory and I/O Management techniques

• Fundamental concepts of systems software

• Salient features of popular operating systems.

3. SYLLABUS

MODULE – I:

System software: Definition, components of system software, operating system as the main component of system software; Operating Systems: OS as a resource manager, Structure of OS, evolution of OS, OS functions, Characteristics of modern OS; Process description and control: Process states: operations on processes; concurrent process; threads; processes and threads; symmetric multiprocessing; micro Kernels. CPU Scheduling: Schedulers, Scheduling methodology , CPU Scheduling algorithms , performance comparison.

MODULE – II

Concurrency: Deadlock and starvation , resource allocation graph, conditions for deadlock, deadlock prevention, deadlock avoidance, deadlock detection, recovery from deadlock. Concurrency: Mutual Exclusion and Synchronization, Critical section, mutual Exclusion, Semaphores, interposes communication, monitors, message passing. Memory Management: Logical vs Physical address Space, Swapping, memory management requirements, dynamic loading and dynamic linking, memory allocation memods, protection, comparison between paging and segmentation, Virtual Memory: Demand paging, page fault, page replacement algorithms, thrashing.

MODULE – III

I/O Management : Introduction, I/O hardware, I/O buffering, DISK I/O, Raid, DISK cache, File Management: Overview, file management system, file access methods, file directories, file allocation methods, free space management, Protection/Security: Mechanisms and Policies, threats, accidental data loss, protection mechanisms, user authentication, attacks from inside the system, virus, anti-virus.

MODULE- IV

Software processors: Definition, translators, loaders (basic functions), Linkers (basic functions), interpreters. Compilers: overview of compilation process, grammars, scanning, parsing, storage allocation, compilation of expressions, compilation of control structures, code optimization, compiler writing tools. Software tools: library routines, text editors, program generators, IOCS, debugging tools, Sort Programs, merge programs, memory dump programs.

MODULE –V

Introduction to different Operating Systems: MS-DOS, UNIX, Windows 2000, Windows NT, LINUX, SUN OS, Solaris, CORBA. Process Management in OS: Windows, Windows NT, UNIX, LINUX, Solaris; Concurrency Management (Deadlock) in OS: UNIX, Solaris, Windows 2000; Memory Management in OS: UNIX/Solaris, LINUX, Windows 2000

4. REFERENCES

4.1 Core References

Operating Systems & Sytems Programming – P. Balakrishna Prasad, SciTech Publishers, ISBN 81-88429-37-6, Rs 210

NIIT, Introduction to Operating Systems , PHI

4.2 Additional References

Pramod Chandra P Bhatt, An Introduction to Operating Systems, PHI, ISBN 81-203-2306-8, Rs 175/-

Michael Palmer et al., Guide to Operating Systems (2nd Ed), Vikas Publishing House, ISBN 981-243-117-9, Rs 450; {Hands on knowledge and projects in DOS, Windows, Win Server, Win NT, UNIX etc.}

Colin Ritchie, Operating Systems, BPB, ISBN 81-7029-642-0; Rs 120 {Question-answer style}

Operating Systems – Schaum Outline Series

4.3 Internet resources:

www.aw.com/cs_supplements/nutt3/index.html

www.aw.com/cs_supplements/nutt/index.html

//cwx.prenhall.com/bookbind/pubbooks/tanenbaum2/

www.gnu.org

www.linux.org

www.linuxcentral.com

5. NOTE ON CURRICULAR TRANSACTIONS:

As far as possible, this course should be based on the Linux operating system.

6. NOTE ON ASSESSMENT:

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. Here are some samples:

1. Which of the following is an example of spooled device?

a. A line printer used to print out put of number of jobs.

b. A terminal used to enter input data to a running program.

c. A secondary storage device in a virtual memory system.

d. A graphic display device.

2. Which of the following disk scheduling strategies is likely to give the best thought put?

a. Farthest cylinder next.

b. Nearest cylinder next.

c. First come first served.

d. Elevator algorithm.

3. A linker reads four modules whose lengths are 200,800,600 and 500 words, respectively. If they are loaded in that order, what are the relocation contains

a. 0,200,500,600

b. 0,200,1000,1600

c. 200,700,1300,2100

4. The total time to prepare a disk drive mechanism for a block of data to be read from it is

a. Seek time.

b. Latency.

c. Seek time and Latency.

d. Transmission time.

5. A task in a blocked state

a. Is executable.

b. Must still be placed in the run queues.

c. Are waiting temporarily unavailable resources.

d. Is running.

6. The strategy of allowing processes that is logically unable to be temporarily

a. Preemptive scheduling

b. Non preemptive scheduling

c. Shortest job first

d. First cum first served.

6.2 Assignment

Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.

6.3 Test Paper

This could be modeled after the question paper for the Final assessment, but of maximum 2 hours.

6.4 End-semester assessment

Section A: 10 out of 13 questions(at least 2 questions from each module); 10*3=30 marks

This section should give an opportunity for the student to demonstrate his/her knowledge

A1. Why must a computer start in Kernel mode when power is first turned on?

A2. Name hardware features designed to explicitly assist the operating system.

A3. On a system using best-fit allocation, assume memory is allocated as specified in Fig. below before additional requests for 20K, 10K, and 5K (in that order) are received. At what starting address will each of the additional requests be allocated?

A4. Why must user programs be prohibited from writing to the memory locations containing the interrupt vector?

A5. On a system using a free hole array, and that has K physical blocks, what is the maximum length of a free hole array? The minimum length?

Section B:5 out of 8 questions (two questions from each module); 5*6=30 marks

This section should be designed to test the application skill of the student in a standard situation

B1. Consider the following page reference string: 7,0,1,2,3,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1. Calculate the page fault rate for the following algorithms

• LFU replacement

• FIFO replacement

• Optimal replacement

Assume that number of frames =3

B2. For each of the following transitions between process states, indicate whether the transition is possible. If it is possible, give an example of one thing that would cause it.

B3. Is a non-preemptive scheduling algorithm a good choice for an interactive system? Briefly, explain why?

B4. Show how the following problem does not satisfy the requirements of a mechanism to control access to a critical section.

B5. How is an absolute partition scheme using relocatable code similar to a relocatable partition scheme? How are they different?

B6. Which allocation scheme would work best for a file system implemented on a device that can only be accessed sequentially, a tape drive, for instance.

Section C; 1 out of 2 questions (could be from any module/cover more than one module) 1*15=15

This section should present a challenge, an unstructured, non-standard problem

C1(a) Can you think of a device on a typical PC for which delayed-write caching is a desirable policy? Can you think of a device for which write-through caching would be a better choice?

C1(b) A disk has 8 sectors per track and spins at 600 rpm. It takes the controller 10ms from the end of one I/O operation before it can issue a subsequent one. How long does it take to read all 8 sectors using the following interleaving systems?

• No interleaving

• Single interleaving

• Double interleaving









BSC 205 Principles of Management

1. AIMS:

To introduce the students to basic principles of management a provide an overview of its practice in the global industries.

2. OBJECTIVES:

To introduce students to:

• Concept of Management and Organisations

• Planning and decision making strategies

• Concepts of organizational behavious and HR management

• Leadership qualities

3. SYLLABUS

Module 1: Introduction to Management: Functions and Processes, Roles, Skills; Historic Evolution of Management, Organisational behaviour.

Module 2: Planning and Decision Making: Nature and forms of planning, strategic planning, Decision making: the decision making process, manager as a decision maker, Types of decisions, business forecasting & operations research

Module 3: Organisations: Nature of organizations, principles, types of organizational structures, authority and responsibility, delegation and decentralization, informal organizations, group dynamics, Staffing: manpower planning, recruitment, selection and placement, training and development, Performance appraisal, wage payment plans, directing.

Module 4: Leadership: Functions and models of leadership, motivational theories, effective communication: principles; managerial control; social responsibilities of business; management of public enterprises.

Module 5: Current trends and issues: Globalisation, diversity, IT, Quality Management. Organisational Culture & Environment; Managing in a global environment, understanding the global environment, managerial ethics.



4. REFERENCES

4.1 Core References

PC Tripathi and P N Reddy, Principles of management, 2/e, Tata Mc Graw Hill, ISBN 0-07-460440-6, Rs 130/-

4.2 Additional References

Stephen P Robins & Mary Coulter, Management, Pearson Education, ISBN 81-7808-649-2, Rs 325/-

E H McGrath, Basic Managerial Skills for All, Prentice Hall of India, ISBN 81-203-2180-4, Rs 295/-

4.3 Internet resources:

www.prenhall.com/robbins

5. NOTE ON CURRICULAR TRANSACTIONS:

Reference 1 (Tripathi & Reddy) covers the topic in an impassionate academic manner. However, the book by Robins and Coulter adopts a refreshing style with case studies, quotes from contemporary successful managers etc. Reading and discussions based on this book is highly recommended. Also, the book on Basic Managerial Skills for All is a resource for large number of activities suitable for this course.

6. NOTE ON ASSESSMENT:

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities.

6.2 Assignment

Assignment should consist of carefully chosen activities which provide an opportunity pick up some management skills, interact with managers etc. An interview with managers from an IT firm is highly recommended component in the assignment. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.

6.3 Test Paper

This could be modeled after the question paper for the Final assessment, but of maximum 2 hours.

6.4 End-semester assessment

Section A: 10 out of 13 questions(at least 2 questions from each module); 10*3=30 marks

This section should give an opportunity for the student to demonstrate his/her knowledge



Section B: 5 out of 8 questions (at least one question from each module); 5*6=30 marks

This section should be designed to test the application skill of the student in a standard situation



Section C; 1 out of 2 questions (could be from any module/cover more than one module) 1*15=15

This section should present a challenge, an unstructured, non-standard problem. This could involve a situation where decision making and justification of the same is called for.







BSC 206. Programming Lab – I

1. AIMS:

To provide an opportunity for hands-on practice of algorithmic thinking and problem solving in a industry-standard programming language



2. OBJECTIVES:

This course will provide hands-on practice in a the following topics, under a variety of programming situations with a focus on writing, debugging and analyzing structured programs:

• basic data types in C.

• basic control structures in C.

• arrays, structures and files

• standard library functions in C language

• solving moderately complex problems involving the above and requiring selection of appropriate data structures and efficient algorithms

3. SYLLABUS

The laboratory work will consist of 15-20 experiments

1. Testing out and interpreting a variety of simple programs to demonstrate the syntax and use of the following features of the language: basic data types, operators and control structures.

2. 1 continued

3. 1-D Arrays: A variety of programs to declare, intitialise, read, print and process 1-D arrays of various basic data types. Processing to include, selection, sum, counting, selective sum, selective counting, reversing etc.

4. 2-D Arrays: A variety of programs to declare, intitialise, read, print and process 2-D arrays of various basic data types. Processing to include, selection, sum, counting, selective sum, selective counting, reversing etc.

5. Structures: A variety of programs to declare, intitialise, read, print and process structures made up of a variety of data types and structures.

6. Array of Structures and Structure of Arrays: Programs to demonstrate declaration and processing of structure of arrays and array of structures.

7. Pointers: A large number of trivial programs involving all possible data types to familiarize the syntax of pointers in a variety of situations and to draw memory diagrams based on the observations.

8. Pointers to Arrays: A number of programs to demonstrate handling of 1-D and 2-D arrays using pointers and to draw memory diagrams based on the observations.

9. Pointers to Structures: A number of programs to demonstrate use of pointers to structures and to draw memory diagrams based on the observations.

10. Functions –I: Simple examples of declaring and using functions of the following categories (i) no argument, no return, (ii) argument, no return, (iii) no argument, return, (iv) argument, return, all pass by value

11. Functions –II: Declaring and using functions with pass by reference, Passing and Returning structures, Recursive functions.

12. Files: Simple example involving use of multiple files: declaring, opening, closing, reading from and writing to text files.

13. Files: Example involving use of multiple files: declaring, opening, closing, reading from and writing to binary files.

14. Library functions: A variety of examples demonstrating (i) string processing functions (ii) a variety of slected library functions

15. Debugging programs involving syntactic and/or logical errors

16-20: Developing programming solutions to problems including program design, algorithm development and data structure selection.

4. REFERENCES

Deitel & Deital, C: How to Program, Pearson Education, ISBN 81-7808-383-3, Rs 325/-

Alan R Feuer, The C Puzzle Book, Pearson Education, ISBN, 81-297-0490-0, Rs 125/-

Yashvant Kanetkar, Test Your C Skills, BPB Publications, 3rd Edition, Rs 165/-

4.3 Internet resources:

www.cprogramming.com

www.programmersheaven.com

comp.lang.c newsgroup

www.cplusplus.com

//cwx.prenhall.com/bookbind/pubbooks/deitel

5. NOTE ON CURRICULAR TRANSACTIONS:

Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a syntactic/semantic modification in the program and then test it out and discuss the result. Students shall be supplied with handouts for each experiment specifying the aims and objectives of the experiment, specific tasks to be done, and questions to be answered. A sample related to arrays is given below:

Task: Write a program to initialize an array a of size 4 by 3 with the following values:

21 32 57

93 20 69

37 66 17

11 3 94

Now write for loops to:

a) Print out all the element of the array, each row in separate line.

b) Print out all elements>50

c) Print out all elements >50, with a zero in position of other elements.

d) Print out all elements >50 and <60.

e) Calculate and print out sum of all elements.

f) Calculate and print out count of all elements

g) Calculate and print out average of all elements

h) Calculate and print out sum of elements >50.

i) Calculate and print out count of elements>50.

j) Calculate and print out average of elements>50.

k) Print out odd valued elements.

l) Print out elements which are multiples of 6.

m) Calculate and print out count of odd valued elements.

n) Print only the elements in row 1 and column 2.

o) Print only the elements in row 1 and column 2.

p) Print only the elements which are not in row 2 and column 1.

q) Print out upper diagonal elements

r) Print out diagonal elements

s) Print out transpose of the matrix



Questions:

1. Predict the amount of memory occupied by the array and test it using sizeof( ) operator.

2. What is the difference between declaring array inside main ( ) and outside main () ?

3. What will be the outcome if the number of values in the initialization is (i) more (ii) less than the declared maximum ?

4. Using the & operator, find out address of each element and draw a memory diagram of internal representation of the array. (Use %u to print out addresses).

5. What will be the outcome if the row and column loops are interchanged ?



7. NOTE ON ASSESSMENT:

The In-semester laboratory assessment will be based on the following components:

2.5% for satisfactory conduct of each experiment (maximum 25%)

25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).

25% for laboratory record, with emphasis on recording of experimentations and justifications of the same.

25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions

The End-semester assessment shall be based on the following:

25% for a common Quiz conducted on all the experiments with 10-20 questions

75% for successful conduct of assigned tasks as follows:

25% for 2 minor programs to demonstrate basic programming ability (such as read and write an array, open and display the contents of a file, function to do simple computation on arguments etc, with stress on syntax and minor logic involved).

25% for developing and writing a program based on a problem statement involving non-trivial logic and requiring the use of one or more of the following features: arrays, structures, files, functions, pointers

10% for successfully debugging a given program

15% for a viva-voce



BSC 207. Numerical Methods Lab

1. AIMS:

• To provide hands-on experience to students on computer-based numerical solutions.

2. OBJECTIVES:

To provide hands-on experience to students on computational solution to:

• Non-linear equations

• Interpolation

• Numerical Integration and differentiation

• Matrix computations

• Differential equations

3. Syllabus

15-20 experiments from the following:

Solutions of Non-linear equations:

• Bisection method;

• Regula-Falsi;

• Newton-Raphson;

• Secant;

• Sucessive approximation method;

• Schroder’s Method;

• Bairstrow’s method

Interpolation techniques:

• Linear Interpolation;

• Newton’s forward and backward formulae;

• Lagrange’s interpolation;

• Linear Regression; Cubic Splines; Chebyshev Polynomial.

Numerical Integration & Differentiation:

• Cubic Spline based Numerical Differentiation;

• Numerical Integration:

• Trapezoidal,

• Simpson’s

• Gaussian, and Filon’s methods.

Matrix Computations:

• Addition, subtraction, transpose, multiplication of matrices;

• Matrix-based solutions of simultaneous linear equations:

• Gauss Jordan Method;

• Gauss elimination with back-substitution;

• LU Decomposition method

Differential Equations:

• Ordinary Differential Equations:

• Picard’s method;

• Euler’s and modified Euler’s method;

• Runge-Kutta; Predictor-Corrector methods;

Partial Differential Equations:

• Jacobi and Gauss-Siedel methods.

Sorting (Any two of student’s choice and comparison)

• Bubble;

• Shell;

• Quick;

• Selection;

• Heap;

4. REFERENCES

4.1 Core References

• E V Kameshwar, Numerical Techniques in C, BPB Publications, Rs 75/-

• N Datta, Computer Oriented Numerical Methods, Vikas, ISBN 81-259-1424-2, Rs 175

4.2 Internet resources:

www.math.jct.ac.il/~naiman/nm/

www.math.odu.edu/~bogacki/videnum : Virtual Demo of Numerical Methods

5. NOTE ON CURRICULAR TRANSACTIONS:

Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a syntactic/semantic modification in the program and then test it out and discuss the result. Students shall be supplied with handouts for each experiment specifying the aims and objectives of the experiment, specific tasks to be done, and questions to be answered. A sample related to Numerical Integration is given below:



Write a program to numerically integrate the function x*sin(x) from 0 to pi, using N-R 1st order Method. Use symbolic integration to calculate the value for checking the results. Run the program with at least 5 different values for intervals and compare and comment on the results. Modify the program to implement 3rd order N-R method. Repeat all the previous intervel values and compare the results in the two cases.



7. NOTE ON ASSESSMENT:

The In-semester laboratory assessment will be based on the following components:

2.5% for satisfactory conduct of each experiment (maximum 25%)

25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).

25% for laboratory record, with emphasis on recording of experimentations and justifications of the same.

25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions

The End-semester assessment shall be based on the following:

25% for a common Quiz conducted on all the experiments with 10-20 questions

75% for successful conduct of assigned tasks as follows:

30% for developing the logic on paper

30% successful coding and correct results

15% for viva-voce

SEMESTER 3
BSC 301 Data Structures


1. AIMS:

To introduce students to various data structures and their features and applicability.



2. OBJECTIVES:

By the end of the course, students should be:

• Able to rite well structured programs in C

• Be familiar with common data structures like array, structures, lists, stacks, queues, trees and graphs

• Able to implement the above data structures in C/C++

• Able to appreciate various searching and sorting strategies

• Able to select appropriate data structures for solving a given problem



3. SYLLABUS

Module–I: Concept of abstract data types, the notion that programs= algorithms + data structures, Review of C Programming language: basic data types, operators and control structures and unions, pointers, Arrays in C: handling of 1, 2 and 3 dimensional arrays, handling of arrays using pointers, passing arrays as arguments to functions. Structures: building complex structures – structure of arrays, array of structures, pointer to structures, passing structures as arguments to functions. Files: binary and text files.

Module–II: Linked Lists: Concept of static versus dynamic data structures, implementation of linked lists using pointers, operations on linked lists: insertion, deletion and traversing. Doubly linked lists and circular linked lists – applications. Stacks and Queues: FIFO and LIFO data structures – stacks using (i) pointers and (ii) arrays. Queues using (i) pointers and (ii) arrays, applications, polish notation.

Module-III: Trees: Concept of linear versus non-linear data structures, various types of trees – binary, binary search trees. Creating a binary search tree, traversing a binary tree (in, pre and post order), operations on a tree –insertion, deletion and processing, implementation using pointers, applications.

Module–IV: Efficiency considerations, O notation, best case, worst case and average cases Searching: sequential searching, binary searching, trees searching, Hashing – linear hashing, hash functions, hash table searching, Sorting: any one exchange sort, any one selection sort and any one insertion sort.

Module–V(Flexi) : Graphs, graph traversal, applications, depth-first and depth first traversal of trees, Multi-way search trees, B-trees, Huffman trees, case studies.

4. REFERENCES

4.1 Core References

• Yedidyah Langsam, Moshe J. Augustein, Aaron M. Tenenbaum, Data Structures using C and C++, 2/e, ISBN 81-7808-729-4, Pearson Education (Indian Edition), Rs 250/-

• S K Bandyopadhyay, K N Dey, Data Structures Using C, ISBN 81-297-0326-2, Pearson Education, Rs 150/-

4.2 Additional References

• Ashok N Kamthane, Introduction to Data Structures in C, Pearson, ISBN 81-297-0643-1, Rs 195/-

• Ken Brownsey, The essence of data structures using C++, Pearson Education, ISBN 81-297-0682-2, Rs 150/-

4.3 Internet resources:

www.keralauniversity.edu/csbos

http://warrior-101.tripod.com/dstut/dstut.html : Tutorial on data structures.

http://crasseux.com/books/ctutorial/Data-structures.html

5. NOTE ON CURRICULAR TRANSACTIONS:

In teaching data structures, the style recommended in BSC201 Introduction to programming should be continued. Memory visualization should be continued to be used. Only after concepts are drilled out, programming for the general case should be attempted. Please note that the lab course BSC 306 and this course are mutually supporting. Make initial programs as simple as possible as in case of a list with couple of nodes added explicitly as follows:

#include

#include

void main()

{

struct node

{

int data;

struct node *next;

};

struct node *head;

head=(struct node *)malloc(sizeof(struct node));

head->data=55;

head->next=(struct node *)malloc (sizeof(struct node));

head->next->>data=66;

head->next->next=NULL;

}

Class exercises should involve questions like the following which will familiarize the student with the thinking process required for developing a recursive algorithm. Question: For the following pictorial representation of a list, the head pointer is the address of the node shown in gray. Give the value of each of the expression specified.

char data;

head->data=........

head->next=..........

head->next->data=.........

head->next->next=............

head->data->>next=.............(valid?)

1 2 3 4 5 6 7 8 9 10 11 12 13 14

A 9 A 15 L 7 A NULL L 3 M 1 I 7



Stack and Queue should be implemented using arrays in a straightforward manner before attempting pointers.

#include

struct stack {

int data[100];

int top;

};



void push(struct stack *s, int x)

{ s->data[++s->top]=x; } //Increment top and set data[top]=x



int pop(struct stack *s)

{return (s->data[s->top--]);} //Return data[top] and then decrement top



void main( )

{

struct stack s1;

int x;

s1.top=-1;

do{ scanf("%d", &x); // Push until x==0 or stack is full

push(&s1, x);

}while(x!=0 && s1.top <99);



while(s1.top!=-1) //Pop and print until stack empty

{

x=pop(&s1);

printf("data = %d\n", x);

};

}



Some teaching material on the above lines is available in the board of studies web site for free use by teachers and students. For no modules, student seminars should be assigned.

6. NOTE ON ASSESSMENT:

In-sem: BSC 301 should be assessed through 1 assignment, 2-3 quizzes and 1 test paper. Model question paper is given for each below:

6.1 Quiz. Quizzes should not focus on programming syntax, but on concepts and should encourage students to demonstrate their mastery of concepts. Example questions are:

1. For the linked list shown below:

(i) list the data stored

(ii) insert the data indicated

(iii) redraw the linked list

(iv) list the data stored after the insertion

The starting node is shown in gray. The last item in the node is the address of the next node. The address of locations are shown in italics on the top.

Data to be inserted: 44 before node with data 55

1 2 3 4 5 6 7 8 9 10 11 12 13 14

99 NULL 55 13 66 15



2. For each of the following cases, draw the binary search tree. Take special care to observe the process so that it is easy to understand the corresponding program.



(a) 100,5,107,7,6

(b) 100,200,300,400,105,205,55,50

(c) 100,50,25,30,35,40

(d) 50, 75, 25, 60, 85, 15, 30, 12, 18, 28, 32, 82, 87, 58, 63

3. For each of the following hash function and data set, specify (i) the number buckets and (ii) the data in each bucket

(a) Hashing function= Data%4, Data=34, 54, 12, 78, 90, 125, 46, 79, 678, 32, 77, 67, 89, 4, 44

(b) Hashing function= Data%2, Data=34, 54, 12, 78, 90, 125, 46, 79, 678, 32, 77, 67, 89, 4, 44

(c) Hashing function= (Sum of Digits of Data) %3, Data=34, 54, 12, 78, 90, 125, 46, 79, 678, 32, 77, 67, 89, 4, 44

(d) Hashing function= (First Digit+Last Digit of Data)%4, Data=34, 54, 12, 78, 90, 125, 46, 79, 678, 32, 77, 67, 89, 4, 44

6.2 Assignment

Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.

6.3 Test Paper

This could be modeled after the question paper for the Final assessment, but of maximum 2 hours with section C avoided.

6.3 End-sem Assessment

The model questions below only indicate the type of questions and do not cover all topics.

Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30

A1.

(a) One of the examples of non-user defined data types is arrays. Give another 2 examples of non-user defined data types.

(b) Consider the following declaration of a C program: -



int x;

int *p;

x=100; // the address where the value of x stores is 332211

p=&x;



What is the output of each printf statement below: -

(i) printf ("x = %d\n",x);

(ii) printf ("*p=%d\n",*p);

(iii) printf ("&x=%d\n",&x);





A2.

Write a program to read in 10 integer values and display the total number of odd integers for these 10 numbers.

A3.

List 3 differences between arrays and linked lists.

A4.

(a) For a linked list, write the structure declaration for its node containing only one integer data.

(b) Write the part of a program to print out the sum of all data in the nodes of a linked list. Assume nodes of type created in (a).

A5.

Consider the following tree (diagram to be given): -

(a) List the child nodes of node with data 30

(b) List the parent node of node with data 43

(c) List the root node of the tree

(d) List any two leaf nodes

(e) Is the above tree a binary search tree?

A6.

State whether the following are true or false: -

(a) A stack is a sequence of items, which can be added and removed from both ends

(b) Queue is known as a FIFO (first in- first out) data structure

(c) Given an array of integers of size 1000, performing linear search for this array must always begin with the first item of the array.

(d) A tree can contain 2 root nodes

(e) The child node of a tree can have two parent nodes

A7.

(a) Consider the following definition of a stack: -

struct stack {

int item[50];

int top;

};

struct stack S1;

After the following operations, what will be the value of top ?

S1.top=-1;

Push(&S1, 100);

Push(&S1, 200);

Push(&S1, 300);

Pop(&S1);

Push(&S1, 100);

Push(&S1, 200);

Pop(&S1);



(b) Consider the following definition of a queue: -

struct queue {

int item[50];

int front, rear;

};

struct queue Q1;

After the following operations, what will be the value of front and rear ?

Q1.front= -1;

Q1.rear= -1;

Add(&Q1, 100);

Add(&Q1, 200);

Add(&Q1, 300);

Delete(&Q1);

Add(&Q1, 100);

Add(&Q1, 200);

Delete(&Q1);

A8.

(a) The number of comparison required for a searching a particular set of data is 64 using linear search and 6 using binary search. If the number of data is doubled, what will be the number of comparisons requiref in case of (i) linear seach and (ii) binary search

(b) How are searching, sorting of data related ? Further, how are both of them related to the data structure used to store data ?

Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.

This section should be designed to test the application skill of the student in a standard situation

B1. Consider the following linked list that stores product code and quality grade in each node, starting with location 7 (For example, the first node stores information about product with code 9 and quality grade A):-



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24



8 B 10 4 A 16 9 A 1 7 C 13 6 D 21 3 A NULL 9 C 5

E 4 F

(a) List the data stored in the linked list

(b) Provide a suitable structure declaration for its node.

(c) Write the part of a program to list all product information about ‘A’ quality products.

(d) Write the part of a program to print out the count of nodes of the linked list.



B2.(a) Draw the binary search tree that will be constructed if a sequence of numbers are inserted into an initially empty binary search tree in the following order: -

19 34 56 12 55 33 11 14

(b) Write out the order in which the nodes of the following binary tree will be visited under: -

(i) preorder traversal

(ii) inorder traversal

(iii) postorder traversal

(c) Write a program to construct a binary search tree containing the marks of 20 students (the data item of one node is the marks for one student). From the tree that you have constructed, traverse the tree to produce the following output: -

Number of students :

Highest Mark :

Lowest Mark :

Average Mark :

Total Mark :

Number of passes (>= 40 marks) :

Number of failures (< 40 marks) :

B3.

(a) Give one advantage of the binary search over the linear search.

(b) Give one advantage of the linear search over the binary search.

(c) Write a program to read a string and check if it is a palindrome

(a) Write a function to count the number of nodes of a binary tree

Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.

C1. The Metro Parking Garage contains a single lane that holds up to six cars. There is only a single entrance/exit to the garage at one end of the lane. If a customer arrives to pick up a car that is not nearest to the exit, all cars blocking its path are moved out, the customer's car is driven out, and the other cars are restored in the same order that they were originally parked.

Write a program that processes a group of input lines. Each input line contains an 'A' for arrival or a 'D' for departure, and a license plate number. Cars are assumed to arrive and depart in the order specified by the input. The program should print a message whenever a car arrives or departs. When a car arrives, the message should specify whether or not there is room for the car in the garage. If there is no room, the car leaves without entering the garage. When a car departs, the message should include the number of times that the car was moved out of the garage to allow other cars to depart.





BSC 302 Object Oriented Programming

1. AIMS:

• To introduce the student to the basic concepts of object orientation and impart skills in an industry standard object oriented language



2. OBJECTIVES:

On the completion of this course, the student will be able to

• Understand the concepts of classes and object

• Define classes for a given situation and instantiate objects for specific problem solving

• Reuse available classes after modifications if possible

• Possess skill in object oriented thought process



3. SYLLABUS

Module–I: Concept of Object orientation – why related data and methods should be kept as a single unit – comparison with procedural and structured programming – Classes and objects – data abstraction, encapsulation, inheritance, polymorphism, dynamic binding, message passing. Advantages of object orientation – reusability, maintenance, security, comfort in programming. Evolution of OOP – history of C and C++. Review of features of C++ common with C and also minor variations; Input and output streams in C++; Basic data types and declarations.

Module–II: Classes and objects in C++, access modifiers, static members, friend functions, Constructors and Destructors, anonymous objects

Module-III: Operator Overloading and type conversion, Inheritance- parent and child classes, private, public and protected inheritance, Multiple inheritance and multi-level inheritance, Virtual base classes. C++ and memory models – new and delete operators, Heap, dynamic objects.

Module–IV: Binding & Polymorphism: Early binding, Late Binding, Pointers to derived class objects, virtual functions, Pure virtual functions, abstract classes, object slicing, Exception handling in C++: try, throw and catch.

Module–V: File stream classes in C++. Templates – class and function templates, Templates versus macros, String objects in C++, Standard Template Library in C++ - containers, associative containers Name spaces.

4. REFERENCES

4.1 Core References

• Ashok N. Kamthane, Object oriented Programming with ANSI & Turbo C++, Pearson Education, ISBN 81-7808-722-3, Rs 225/-

4.2 Additional References

• H M Deitel and P J Deitel, C++: how to program, Pearson Education, ISBN 81-297-0276-2, Rs450/-

• Bruce Eckel, Thinking in C++, 2/e, Vol. 1, Pearson Education, ISBN 8-178-08297-7, Rs 495/-

• Robert Lafore, Object Oriented Programming in Turbo C++, Galgotia Publications Pvt Ltd, Rs 279/-

• Yaswant Kanetkar , Let Us C++,BPB Publications

• Bjarne Stroustrup, The C++ Programming Language, Addison Wesley Publishin Company, New York,1994

• Herbert Schildt , Teach Yours self C++, Osborne, 1994

• Patrick H Winston, On to C++, Pearson Education, ISBN 981-235-922-2, Rs 195/-

4.3 Internet resources:

www.deitel.com, www.prenhall.com/deitel, www.InfromIT.com/deitel, www.cplusplus.com, www.zib.de/Visual/people/mueller/ Course/Tutorial/tutorial.html, www.linuxgazette.com/ issue55/williams.html, http://www.clark.net/pub/howie/OO/oo-home.html

5. NOTE ON CURRICULAR TRANSACTIONS:

Teachers should take special care in introducing the concept of object orientation with clarity. The nature of modern software development in which a generic programmers and a client programmers (the later reusing and modifying the components developed by the former) should be introduced first – only then encapsulation, access modifiers etc become relevant. The concept of classes could be developed from structures in C (though puritans have criticized this) and should be introduced as a way or keeping related data and methods together for convenience. Classes and objects should also be contrasted with data types and variables. Bruce Eckel’s Thinking in C++ contains an introduction to OO on the above lines. It is advisable that handouts are used in the lecture classes to cover large number of examples in a short time (example given in BSC201). Student seminars should not be used for transacting curriculum. Tutorials should be used to solve unstructured problems.



6. NOTE ON ASSESSMENT:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 20% weightage

• 1 test paper- 30% weightage

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. Questions given along each chapter in Core Reference may be taken as model.

6.2 Assignment

Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.

6.3 Test Paper

This could be modeled after the question paper for the Final assessment, but of maximum 2 hours with section C avoided.

6.4 End-sem Assessment

The model questions below only indicate the type of questions and do not cover all topics.

Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30

A1. State whether the following are true or false: -

(a) Three key features of an object-oriented language are encapsulation, inheritance and polymorphism.

(b) Information hiding in a context of a class means that private data members are hidden outside the class.

(c) The non-user defined data type, Union, causes all the data contained within the union to be stored in same physical memory locations.

(d) One of the advantages of object-oriented programming is ability to reduce the maintenance cost for software development.

(e) A class may contain more than one constructor

A2.

(a) What is the role of constructor in a class definition?

(b) How do you differentiate between a constructor and a member function of a class



A3. Suppose your program contains the following class definition (along with definitions of the member functions): -

Class BSc2005Admission

{

public:

BSc2005Admission (int new_info, char more_new_info);

BSc2005Admission ();

void do_stuff();

private:

int information;

char more_information;

};

State whether the following are valid or invalid, assuming prerequisites



(i) BSc2005Admission x(42,'A');

(ii) BSc2005Admission y;

(iii) BSc2005Admission z();

(iv) a1 = BSc2005Admission (99,'B');

(v) a2= BSc2005Admission ( );





A4.

(a) Give 2 advantages of using member initializers.

(b) Given the following definition of a class: -

class Olympic

{

private:

int total_audience, total performers;

float ticket price;

public:

Olympic(void);

}



Write the function definition, how the member data, total_audience, total_performers and ticket_price, of class Olympic, are initialized to 100000, 10000 and 100 respectively, using member initializers.[3 marks]

A5. State whether the following are true or false: -

(i) If class A is a friend of class B, it follows that class B is a friend of class A.

(ii) Given a class, A, friend function is a non-member function of class A, which is allowed to access the protected data of class A.

(iii) If function func1 is a friend of class B, and class B is derived from class A, func1 also has access to the data ,members of class A.

(iv) If Class A is a friend of class B and class C is derived from class A, it follows that class C is a friend of class B.

(v) If class A is a friend of class B and class B is a friend of class C, class A is not a friend of C.

A6.

(a) What is static data member of a class?

(b) The following program keeps track of the total number of units of house built and destroyed in a housing area. Predict the output of the program: -

#include

class House {

static int units;

public:

void built(int u) {units=units+u;}

void destroyed (int u){units=units-u;}

void display(void){cout << "The total number of remaining units is " << units << endl;}

};

int House::units=0;

main()

{

House H1, H2;

H1.built(20);

H2.destroyed(5);

H1.built(10);

H2.destroyed(6);

H1.display();

return 0;

}

A8.

(a) Define polymorphism in the context of object-oriented technology.

(b) Predict the output of the following program: -

#include

class Animals {

public:

virtual void action(void){cout << "Crying" << endl;}

};

class Monkey:public Animals {

public:

void action(void){cout << "Smiling" << endl;}

};

int main()

{

Animals *a1;

a1=new Animals;

a1->action();

delete a1;

a1=new Monkey;

a1->action();

delete a1;

return 0;

}

Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.

This section should be designed to test the application skill of the student in a standard situation

B1.(a) Write three class definitions in C++ and demonstrate the following through those definitions.

(i) Inheritance

(ii) multiple inheritance

(iii) base class

(iv) derived class

(b) Some programmers prefer not to use protected access since it breaks the encapsulation of the base class. What are relative merits of using protected access vs. insisting on using private access in base classes.



B2.

(a)Consider the Time class definition that includes both of the following constructors: -

Time (int h = 0, int m = 0 , int s = 0 );

Time ( );

Both the constructors are not allowed in the Time class defintion. Why?

(b)Create a Date class with the following capabilities: -

• Output the date in multiple formats such as

- DDD YYYY

- MM/DD/YY

- June 14, 1992

• Use overloaded constructors to create Date object initialized with dates of the formats above.

• Create a Date constructor that reads the system date using the standard library functions of the time.h header and sets the Date members.



Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.





BSC 303 Humanities II

1. AIMS:

• To create an interdisciplinary perspective

• To create general awareness about humanities

• To impart necessary basic knowledge for futuristic IT technologies and applications which hinge on humanities.

2. OBJECTIVES:

To introduce students to basic concepts, scope, nature and methods of Philosophy, Education, Media Studies, Psychology and Logic.



3. SYLLABUS

• Module–I: Introduction to Philosophy: Definition, scope and nature of philosophy; Metaphysics; Epistemology; Ethics; Religion, Science & Philosophy.

• Module–II: Introduction to Education: Learning; Behaviourist Theories; Gestalt Theory, Field Theory, and Cognitive theories: Bruner, Piaget; Personality: Measurement of Personality.

• Module–III : Introduction to Media Studies: Role and impact of media, radio, press, television films and the internet, Media convergence.

• Module–IV: Introduction to Psychology: Definition and Nature of Psychology;

• Module–V: Introduction to Logic: Basic Logical concepts, Analysing arguments, solving problems using logic, logic in everyday life.

4. REFERENCES

The following are suggested as readings, however any introductory book or electronic source which gives a inspiring introduction to the respective topics may be adopted by faculty.

• Dev Raj Bali, Introduction to Philosophy, Sterling Publishers, New Delhi, ISBN 81 207 09195 [Rs 50]

• Jean Folkerts, Stephen Lacy, The Media in Your Life, Pearson, ISBN 81-297-0770-5, Rs

• Vanitha Kohli, The Indian media business, Response Books, ISBN 0-7619-9649-4 [Rs 280]

• K Sivarajan, Psychology of Learning and Instruction, Calicut University Central Cooperative Stores, Rs 80

• Irving M Copi & Carl Cohen, Introduction to Logic (Ch. 1-4 only), Pearson Education, ISBN 81-7808-486-4,

5. NOTE ON CURRICULAR TRANSACTIONS:

It is not intended that a comprehensive or deep coverage of any of the above subjects are covered. A series of about 5 fascinating lectures which create an interest in the topic and motivate students to read and think further will be sufficient. Students should be encouraged to read informal and imaginative material from other sources. The module on Logic should be taught in such a way that students will become sensitive to logical validity of everyday arguments. Student seminars may be used to transact curriculam.

6. NOTE ON ASSESSMENT:

Humanities –II will be evaluated completely internally. (Special Note: Even in case of group of institutions under same management/administration practicing centralized question setting, each college/institute should have independent question paper setting for this course). Each module will have one quiz, 1 assignment and there shall be a test paper covering all the modules. The quiz will be to test familiarity with very basic terminology and concepts. Test paper will be of maximum 2 hours duration and will be based on generic questions and model questions should be issued by concerned lecturers. Both tests and quizzes should have 50% choice of questions.



6.1 Model Questions for Quiz: [10-20 questions for each module, conducted at the end of the lectures related to the module]

1. The study relating to the nature of ultimate reality is

A. Epistemology B. Metaphysics C. Ethics



2. That mind and its ideas constitute reality is the thesis of:

A. Materialism B. Idealism C. Pragmatism



3. If it is accepted that “If it rains, the roads will be wet” and it is known that “the roads are wet”, which of the following can be logically concluded:

A. It has rained B. It has not

6.2 Sample Assignments: All assignments should be preceded by assessment guidelines and submission policy given on page. All assignments should be done in groups of 3 or 4 students chosen at random (by taking lots) and one evaluation component could be a 10 minute presentation where each student of the group takes part. Sample tasks are suggested below:

(a) Listen to a representative sample of programmes from the radio and a selected television channel and prepare a report contrasting the two in terms of value of the programme to various categories of people, cultural elements, commercialization, educational aspect, interaction etc. Make your judgement about the valu of both media.

(b) News papers influence the society in a variety of ways. Conduct a study of various aspects of two selected news papers in terms of language, reporting of developmental activities, crime, advertising policy etc.

(c) Interview half a dozen people (from family, among students, friends etc) and ask them questions like: Does god exist ? Is astrology a science ? Do you believe in rebirth? Which political party is the best? Which profession Is the best? Ask them to present their arguments. Record them and transcribe them and analyse their logical validity without making any value judgement from your side.

(d) Meet a psychologist and find out psychometric tests are administered and report on them. Administer a test with the help of the psychologist for your class.

6.3 Test Paper [5-10 objective type questions for each module, conducted at the end of the lectures related to the module. It is advised that each lecturer provides a model question paper]

6.4 Exam: The question paper model of this course shall not be similar to the style followed for other papers and shall be primarily involving essaying. 10 questions of the type given below with 50% choice

1. Explain any one theory of education

2. Discuss basic ideas of ethics

3. What is the nature of influence of the electronic media on society

4. Give 4 different types of logical fallacies and explain why they are so.



BSC 304 Software Engineering



1. AIM:

To enable the students to have a thorough understanding of the activities in development projects using (a) Structured Analysis and Design and (b) Object Oriented Analysis and Design

2. OBJECTIVES:

At the end of the course, the students should be able to :

• Appreciate the importance of having a process for software development.

• Understand the various activities undertaken for a software development project following the SSAD & OOAD

• Use the SSAD and OOAD methodologies for software development

• Test software developed using SSAD and OOAD methodologies.

• Have in depth knowledge about the different OOAD Themes and compare them with SSAD

3. SYLLABUS:

Module 1:

Characteristics of Software, Product and Process, Need for Software Process, Characteristics of a Software Process, Software Development Process, Software Development Life Cycle Model: Classical Waterfall Model, Iterative Waterfall Model, Prototyping, Evolutionary Model, Spiral Model; Comparison of different Life Cycle Models, Software Project Management, Project Estimation Techniques, Software Configuration Management. Software Requirements Analysis and Definition: Software Requirements, Overview of SA/SD Methodology, Structured Analysis, Data Flow Diagrams, Symbols used for constructing DFDs, Concepts associated with designing DFDs, Developing the DFD Model of a system, Shortcomings of the DFD model, Extending DFD Technique to real time systems, Entity Relationship Diagram, Developing ERD of a system, Decision Trees, Decision Tables, Structured English, Throw away and Evolutionary Prototypes. Requirements Specification: Need for SRS, Characteristics of an SRS, Components of an SRS, Specification Languages, Structure of a Requirements document.



Module 2:

Structured Design: Design Principles, Problem Partitioning and Hierarchy, Abstraction, Modularity, Top-down and Bottom-up Strategies, Transformation of a DFD to a Structure Chart, Transform Analysis, Transaction Analysis, Coupling: Normal Coupling (Data, Stamp and Control Coupling), Common Coupling, and Content Coupling; Multiple types of Coupling between two modules, Cohesion: Functional, Sequential, Communicational, Procedural, Temporal, Logical, and Coincidental Cohesion; Multiple types of Cohesion in a module, Data Design, Normalization: First Normal Form, Second Normal Form, Third Normal Form, BCNF, Fourth Normal Form, Fifth Normal Form; Denormalization, Procedural Design.



Module 3:

Static Testing: Review, Walkthrough and Inspection, Comparison of Review, Walkthrough and Inspection. Dynamic Testing: Testing Fundamentals, Error, Fault and Failure, Test Oracles, Top-down and Bottom-up Approaches, Test Cases and Test Criteria, Black Box Testing, Equivalence Class Partitioning, Boundary Value Analysis, Cause Effect Graphing, White Box Testing, Basis Path Testing, McCabe’s Number, Comparison of Different Techniques, Unit Testing, Integration Testing, System Testing, Regression Testing and Acceptance Testing, Test Plan, Test Case Specifications, Test Case Execution and Analysis; Software Maintenance, Types of Software Maintenance.



Module 4:

Object Oriented Concepts, Comparison between Algorithmic Decomposition and Object Oriented Decomposition, Object Oriented Themes: Abstraction, Encapsulation, Hierarchy, Modularity, Typing, Concurrency, Persistence; Unified Process, Object Oriented Analysis and Design using UML, UML Diagrams: Use Case Diagram, Class Diagram, Sequence Diagram, Collaboration Diagram, Activity Diagram, State Chart Diagram, Component Diagram, Deployment Diagram; Developing UML Diagrams of a System, Testing Object Oriented Systems.



Module 5: (Flexi Module)

Agile Programming Methodologies, Extreme Programming, Formal Methods, CASE Tools.

4. REFERENCES:

4.1 Core Reference

Rajib Mall, Fundamentals of Software Engineering, Second Edition, Prentice Hall of India, ISBN 81-203-2445-5, Rs. 195/-

Pankaj Jalote, An Integrated Approach to Software Engineering, Narosa Publishing House, ISBN 81-7319-271-5, Rs. 95/- ( This book covers almost every topic in the syllabus in a concise manner.)

4.2 Additional References:

Roger S. Pressman, Software Engineering – A Practitioner’s Approach, Fourth Edition, McGraw Hill Companies, Inc., ISBN: 0-07-052182-4, Rs. 415/- (Covers almost every topic in the syllabus comprehensively)

Meilir Page Jones, The Practical Guide to Structured Systems Design, Second Edition

Prentice Hall of India,ISBN: 81-203-1482-4, Rs. 195/- (This book covers Architectural Design in detail. Separate chapters on Coupling, Cohesion and Structure Chart. )

Martin Fowler, UML Distilled, Third Edition, Addison-Wesley, ISBN: 0-321-19368-7, ($34.99) - covers UML 2.0

Jeffrey A. Hoffer, Joey F. George, Joseph S. Valacich, Modern Systems Analysis and Design, Pearson Education Inc., ISBN: 81-7808-781-2, Rs. 350/- This book has large number of examples, exercises and case studies.

Grady Booch, Object Oriented Analysis and Design with Applications, Addison-Wesley

ISBN: 981-235-981-8, Rs. 447/- The Chapter “Object Model” discusses all the OO Themes in detail

Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language User Guide, Addison-Wesley , ISBN: 981-4053-31-7, Rs.402/- ( Comprehensive book on UML)

Frederick P. Brooks, Jr., The Mythical Man Month, Addison-Wesley, ISBN: 0-201-83595-9 Rs.535/- This book deals with Project Management.

Kent Beck, Extreme Programming Explained, Pearson Education Inc.,ISBN: 81-7808-667-0, Rs. 195/-

Journals and Magazines: (i) Software Development, CMP Media. (ii) Software Quality Professional, ASQ.

4. Web Resources:

• http://courses.cs.vt.edu/csonline/SE/Lessons/ Intro and a comparison of the procedural and OO

• http://www.omg.org/gettingstarted/what_is_uml.htm This article gives an introduction to UML

• http://www-106.ibm.com/developerworks/java/library/co-design5.html tutorial introduction to Use Cases.

• http://www-106.ibm.com/developerworks/java/library/j-jmod0508/ introduction to Sequence Diagrams.

• www.rspa.com Over 1000 Software Engineering Resources on a variety of Software Engineering Topics.

• http://www.math-cs.gordon.edu/local/courses/cs211/ATMExample/ A complete example OO Analysis, Design and Programming applied to a moderate size problem: simulation of an Automated Teller Machine.

5. CURRICULAR TRANSACTION:

A case study of moderate complexity should be solved in class, so that the students will get a clear idea of SSAD and OOAD methodologies. The difference in both these approaches should be clearly brought out during the lecture. The students should do at least one exercise on each of the following: Context Diagram, Level-1 Data Flow Diagram, Entity Relationship Diagram, Decision Tree, State Chart Diagram, Structure Chart, Coupling, Cohesion, Normalization, Use Case Diagram, Class Diagram, and Sequence Diagram. The faculty can select the exercise from any of the textbooks mentioned in the Reference.

8. ASSESSMENT:

The In-sem assessment will be carried out using Assignment (2 Nos, 30% weightage each), Test (40%)

8.1 Assignment

Assignment 1:

A Case Study of moderate complexity (similar to the one given in Web Resources, Reference 6) should be given to the students. They should be able to design using the Structured Analysis and Design Methodology. They should be able to write a complete SRS for the case study according to the IEEE Guidelines, which is given in http://users.snip.net/~gbooker/INFO627/IEEE-830-1998.pdf

The SRS should contain:

1. Data Flow Diagram (DFD)

2. Entity Relationship Diagram (ERD)

3. Data Dictionary

4. Mini Specifications

Assignment 2:

The students should be able to design using Object Oriented Analysis and Design for the same case study. They should have the following UML Diagrams, as part of their OOAD Documentation.

1. Use Case Diagram

2. Class Diagram

3. Sequence Diagram

They can also develop the pseudo code for the system to be developed. They should be asked to comment on the comparison between the two methods

8.2 Test

Test should be conducted consisting of questions of the type given in section A and/or B in model question paper below.

8.3 End-sem Assessment

Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30

This section should give an opportunity for the student to demonstrate his/her knowledge

1. Write pseudo code segments (or code segments in C) which have the following types of coupling: (a) Control Coupling (b) Common Coupling

2. Write pseudo code segments (or code segments in C) which have the following types of cohesion: (a) Sequential Cohesion (b) Logical Cohesion

3. Write a pseudo code of a function, which takes an integer array as input and sorts it in the ascending order. Determine the cyclomatic complexity of the sort function

4. A music shop provides customers with a wide variety of musical CDs.

Customers can place orders for CDs online. They also have the provision to enter the feedback about the CDs they have purchased by giving a customer rating for each CD. The music shop needs to maintain the following details:

CD Id, CD Title, Song Id, Song Name, Song Length, Artist Id, Artist Name, Customer Id, Customer Name, Customer Address, Customer Telephone, Customer rating.

The following assumptions are made: (1) The same song may be present in multiple CDs, but each song has a unique id. (2) Each song is composed by only one artist. (3) Each customer has got only one telephone number. What are the 3NF relations for the above data? (5 Marks)

5. What does “balancing a DFD” mean? Illustrate with a suitable example. (5 marks).

6. Distinguish between compile time and runtime polymorphism with a suitable example. (5 marks)

7. What are the different types of relationships between use cases? Explain each one of them with a suitable example. (5 marks)

8. With a suitable example, distinguish between aggregation and composition. (5 marks)

9. Compare Sequence and Collaboration diagram. In which context is each of the diagrams used? (5 marks)

10. Which life cycle model would be appropriate for each of the following applications? Mention the reasons why the particular model was chosen. (5 marks)

(a) A well understood data processing application

(b) An object oriented software development effort

(c) The graphical user interface part of a large software product

Section B Answer the following questions based on the case study given below:

(5 out of 8 questions. 5 x 6 = 30.This section should be designed to test the application skill of the student in a standard situation )



• National Library is planning to automate all their activities pertaining to the issue and return of books by the members of the library and the various queries regarding books.

• The library has three categories of members: Librarian, Faculty and Student.

• Each library member is assigned a unique membership number.

• Each book in the library is assigned a unique identification number. The librarian should be able to enter the details of the books into the library software through a suitable interface.

• The librarian should be able to add new members to the library. He should also be able to add new books to the library, as recommended by the faculty.

• The faculty should be able to borrow 10 books for a period of six months.

• The student should be able to borrow 5 books for a period of one month.

• There is a restriction that faculty and students should not borrow more than one copy of any book.

• If the faculty or student is not returning the book within the specified period, the system should send a reminder asking him / her to return the book.

• When a library member returns a book, the software should print a bill for the penalty charge for the overdue book. The software should calculate the penalty by multiplying the number of days the book was overdue by the penalty rate.

• There should be a query facility in which the faculty or student can verify whether any book is available.

• The requested book will be issued to the faculty or student, if a copy of the book is available. Otherwise, they can reserve a copy of the book, which will be issued, once the copy of the book is available.

• The faculty can recommend new books to the library. The students cannot directly recommend books to the library, but can suggest any useful books to the concerned faculty, who in turn can recommend the book(s) to the library.

1. Draw the Context Diagram and Level –1 Data Flow Diagram for the above problem.

2. Draw the Entity Relationship Diagram, after identifying the major entities

3. Draw the Structure chart, for the above problem, using transaction and transform analysis.

4. Design the black box test cases for the library software

5. Draw the Use Case Diagram for the above problem. Identify all the scenarios.

6. Draw the Class Diagram for the above problem. Identify the attributes and methods for each class.

Section C The questions in this section are based on the Case Study given below.

An auto rental company wants to develop an automated system that would handle car reservations, customer billing and car auctions. Usually a customer reserves a car, picks it up and then returns it after a fixed period of time. At the time of pickup, the customer has the option of buy or waive collision insurance on the car. When the car is returned, the customer receives a bill and pays the specified amount. In addition to renting out cars, every six months or so, the auto rental company auctions the cars that have accumulated over 20000 miles.

C1 Object Oriented Analysis and Design

(a) Draw a use case diagram for capturing the requirements of the system to be developed. Include an abstract use case for capturing the common behaviour for capturing the common behaviour among any two use cases. Extend the diagram to capture corporate billing, where corporate customers are not billed directly; rather the corporations they work for are billed and payments are made some time later.

(b) Draw a class diagram for the system to be developed for the company. The diagram should identify all the relevant classes from the problem domain, and show their attributes and operations, as well as the relationships among classes. In drawing the diagram, you can make any assumptions, as long as they are realistic.

(c) Draw sequence diagrams for all the scenarios.

(d) Draw state chart diagram(s) for all the objects with dynamic behaviour.

(e) Develop the pseudo code of the system to be developed.



C2. Perform Structured Analysis and Design for the Case Study given above. The analysis and Design should include:

(f) Data Flow Diagrams

(g) Entity Relationship Diagram

(h) Data Dictionary

(i) Structure Chart

(j) Normalized Tables (till 3NF) and

(k) Pseudocode of the system to be developed



BSC 305 Microprocessors & A/L Programming

1. AIMS: To introduce 80x86 assembly language and thereby familiarize the student with architecture of microprocessors

2. OBJECTIVES:

By the end of the course, students should be able :

• Appreciate architectural features of of x86 family of processors

• Read and write moderately complex assembly programs for 8086 processor

• Use the tools debug, TASM/MASM, Unix/Linux Codeview

• Use assembly routines in C/C++



3. SYLLABUS

Module–I: Introduction 8086 Architecture: IBM PC Hardware Architecture; 8086 Regsiters, Bus, RAM organization, VRAM, Segment-Offset addressing, Fetch Decode Execute Cycle, 80x86 features, Real and Protected Modes, Hexadecimal Number system, Study using Debug/codeview

Module–II: 8086 Instruction Set: Addressing Modes; Arithmetic Instructions; Data Movement Instructions; Control Instructions, Input-Output Instructions, String Instructions, Logical Instructions; Simple examples of the above initially using DOS Debug or Unix/Linux Code View and then on TASM/MASM or similar assemblers, Linking and relocation, Stacks, Procedures, Assembler directives.:

Module–III : Interrupts: BIOS and DOS interrupts, Interrupt Vector Tables, COM and EXE files, Memory organization (conventional, upper, extended and expanded), Direct Memory access, Including assembly code in C programs, Writing TSRs in A/L and/or C language, introduction to computer viruses.

Module–IV: 8086-based system design: Pins, signals and bus cycle, basic system components, interfacing memory, interfacing i/o devices, interfacing data converters, Programmable timers and event counters, Keyboard/Display Controllers, DMA controllers

Module–V (Flexi): Miscallaneous Topics:. Features of Pentium, Pentium MMX, Itanium Processors, RISC, CISC, Motherboard of IBM PC, Drives, Peripherals, I/O buses, Parallel, Serial and USB ports.

4. REFERENCES

4.1 Core References

N. Mathivanan, Microprocessors, PC Hardware & Interfacing, Prentice Hall (India), ISBN 81-203-2317-3, Rs 295/-

4.2 Additional References

V Rajaraman & T Radhakrishnan, Essential assembly Language Programming for the IBM PC, PHI, ISBN 81-203-1425-5, [Rs 125]

William B Jones, Assembly Language Programming for the IBM PC Family (w/CD), Dreamtech Press, ISBN 81-7722-197-3, [Rs 399]

Peter Abel, IBM PC Assemble language Programming, 5/e, Pearson Education, ISBN 81-7808-502-X, Rs 195/-

Steven Holzner, C With assembly language, ISBN 81-7029-122-4, BPB publications,

Walter A. Triebel, The 8088 and 8086 Microiprocessors, 4/e, Pearson Education, ISBN 81-297-0298-3, Rs 350/-

Douglas V Hall, Microprocessors: Interfacing, Programming and Hardware, Tata McGrawHill, Rs 275/-

Kenneth J Ayala, The 8086 microprocessor:Programming & Interfacing the PC, Penram International(India),Rs 285

4.3 Internet resources:

www.semizone.com, www3.itu.edu/~annebery/mini.html, www.play-hookey.com/digital, www.wisd.net/ industrialtechnology/ELECTRONICLINKS.IITM

5. NOTE ON CURRICULAR TRANSACTIONS:

It is suggested that instruction set is introduced by demonstrating small programs involving use of the instructions in DEBUG or simulation programs. The labwork of BSC 306 should be tightly connected with this course. Students should first be familiarized with hexadecimal number system through a variety of tools suggested in BSC 306. Student seminars should not be used for transacting curriculam.

6. NOTE ON ASSESSMENT:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 20% weightage

• 1 test paper- 30% weightage

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type only and should contain both analysis and synthesis opportunities. Questions given along each chapter in Core Reference may be taken as model, in addition to the following:

1. The physical address represented by segment offset pair F001:007A is __________

2. The address length of 8086 is _______ bits and each memory location can hold ____bits

3. The contents of AX will be _________ and BX will be _______ after executing the following assembly instructions: mov ax,05; mov bx,06; add ax,bx; hlt

4. A certain region of the memory contains the following:

Address 0acf 0ad0 0ad1 0ad2 0ad3 0ad4 0ad5 0ad6 0ad7 …

Content ab bc cd de f0 f1 f2 f3 f4 …

The byte at 0acf=___________ and the word at 0ad0=______________, the double word at 0ad0=______________, the byte at 0ad0=______________, the quadword at 0ad3=______________



6.2 Sample Assignments: Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Following are some sample questions, by no means comprehensive.



1. Prepare a table comparing features of various microprocessors

2. Write a C program which will accept a segment and offset address from the screen and display the contents of the memory starting from that location in the same format as Debug. You will have to find out the format string used in C for printing out segment offset adress in the form segement:offset.



3. Write a screen capture program in C which will capture and store the current (text mode only) screen display as a text file which can be printed out or edited as required.

4. Every disk, floppy or hard, has the boot record (512 bytes), File Allocation Table (FAT), Root Directory & Files and other Directories stored in that order from Track 0, sector 0. Debug has a Load command 'L' by which sector of the disk can be loaded into the RAM. Do this and dump the contents and interpret it. See p. 254 of Barry Brey or any other reference for detail on Disk Organisation.

5. Prepare a chart of interrupts which you think are very useful. (Follow the format in Brey. p. 716 onwards)

6. Think of TSR which will be of some use and implement it in C/assembly



*7. Implement an LED based time indicator which is interfaced to a PC.

6.7 Test and End-sem exam. Test paper may follow the model of the exam, but avoiding section C. Sample question is given below (incomplete):

Section A (Answer 8 out of 10, each carries 5 marks

A1. Predict the contents of the registers specified, after execution of each of the five given segments of assembly code:

(i) mov ax,05;

mov bx,06;

add ax,bx;

hlt Register AX=_________

A2. Give the length in bits of the following 8086 registers: AX, AH, PC, Flag, BP

A3. (a) Give two comparisons between COM and EXE files

(b) Give 3 comparisons between real and protected mode

A4. List any five addressing modes in 8086

A5. Give an example each to demonstrate use of (i) STD and (ii) SHL instructions

A6. (a) What is General Protection Fault?

(b) What is the physical address corresponding to 00a0:0ff6 ?



Section B. (Answer any 4 out of 5, each carries 10 marks)

B1. (a) Compare memory mapped I/O and direct I/O (b) What are synchronous and asynchronous interrupts ?

B2 (a) Write a program to add two row byte-vectors of length 9 stored in the memory from locations 0a00 and 0b00 and store the resulting word in location 0c00. (b) Explain a TSR with a simple example

B3. (a) Give an example of string copying in a/l (b) Write a program to swap the contents of two byte-arrays stored in the memory, make suitable assumptions and state them. What changes are required if the array is a word array.



Section C: Question carries 20 marks

C1 It is required to connect electronic equipments to 6 doors in a house which will produce a 1 output if the doors are open and 0 otherwise. For the security of the house, door 1 and 6 must always be locked. In addition, if door 4 is open then 5 must also be locked. Give the details of interfacing the door status indicators to a PC, making suitable assumptions and justifying them. Write an assembly code which will display a message in case security is compromised.



BSC 306. Programming Lab – II

1. AIMS:

To provide an opportunity for hands-on practice of object oriented programming and problem solving in a industry-standard programming language and also hands-on practice in various user-defined static and dynamic data structures.



2. OBJECTIVES:

This course will provide hands-on practice in a the following topics, under a variety of programming situations with a focus on writing, debugging and analyzing object oriented programs:

• basic data types and control structures in C++.

• managing classes and objects in a variety of situations

• solving moderately complex problems involving the above and requiring selection of appropriate structures and algorithms

3. SYLLABUS

The laboratory work will consist of 15-20 experiments

1. Testing out and interpreting a variety of simple programs to demonstrate the syntax and use of the following features of the language: basic data types, operators and control structures.

2. Solving a problem using (i) structures and (ii) classes and comparison between the two (the problem logic and details should be kept minimal and simple to enable focus on the contrast between the two methods, for example declaring result of a set of students defining the name and total marks in the program itself).

3. Class definitions and usage involving variety of constructors and destructors

4. Programs involving various kinds of inheritances,

5. Programs involving operator overloading and type conversions

6. Programs involving virtual base classes, friend functions

7. Program to demonstrate early and late binding

8. Program to allocate memory dynamically

9. Program involving class and function templates

10. Programs to demonstrate(i) string processing (ii) file streams (iii) a variety of selected library functions

11. Exception handling

12.Handling of 2-D arrays using pointers

13. Implementation of stack using arrays

14. Implementation of queues using arrays

15. Implementation of singly linked lists

16. Implementation of doubly linked lists

17. Creating and processing binary search tree

18. Searching using hash tables

19. Implementation of two selected sorting methods

20. Debugging programs involving syntactic and/or logical errors

4. REFERENCES

Deitel N M, C++: How to Program, Lab Manual, ISBN 0-131-4099-9

Deitel & Deital, C++: How to Program, Pearson Education, ISBN 81-297-0276-2

4.3 Internet resources:

www.cplusplus.com

5. NOTE ON CURRICULAR TRANSACTIONS:

Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a syntactic/semantic modification in the program and then test it out and discuss the result. Students shall be supplied with handouts for each experiment specifying the aims and objectives of the experiment, specific tasks to be done, and questions to be answered. A sample related to introduction to classes is given below (the language is Java-like): Consider the following class declaration and program. Implement the methods f1, f2 … using dummy print statements and then predict which are the legal and illegal references to data and methods, and test out by compiling the program



class Vehicle{

private int x;

protected int y;

public int z;

int w;

private void f1( ) {…}

public void f2( ) { …; f1( ), ….;}

protected void f3( ) {….; f1( ); ….; f2( );…;}

void f4( ) {….}

}

class Car extends Vehicle{

private int p;

protected int q;

public int r;

int s;

private void f5( ) {…}

public void f6( ) { …; f1( ), f5( );}

protected void f7( ) {….; f2( ); ….; f3( ); f4( );…;}

void f8( ) {f6( ); f7( ); ….}

}



class c1 {

public static void main( )

{

Vehicle v(5,6,7,8);

Car c(9,8,7,6);

print(v.x+”,”+v.y+”,”+v.z+”,”+v.w);

print(c.p+”,”+c.q+”,”+c.r+”,”+c.s);

v.f1( );

v.f2( );

v.f3( );

v.f4( );

v.f5( );



c.f1( );

c.f2( );

c.f3( );

c.f4( );

c.f5( );

c.f6( );

c.f7( );

c.f8( );

}

}



6. NOTE ON ASSESSMENT:

The In-semester laboratory assessment will be based on the following components:

2.5% for satisfactory conduct of each experiment (maximum 25%)

25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).

25% for laboratory record, with emphasis on recording of experimentations and justifications of the same.

25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions

The End-semester assessment shall be based on the following:

25% for a common Quiz conducted on all the experiments with 10-20 questions

75% for successful conduct of assigned tasks as follows:

25% for 2 minor programs to demonstrate basic programming ability (such as declaring a simple class and instantiating an object, with stress on syntax and minor logic involved).

25% for developing and writing a program based on a problem statement involving non-trivial logic and requiring the use of one or more of the following features: classes, inheritance, function overloading, operator overloading, exception handling, virtual base classes, templates.

10% for successfully debugging a given program

15% for a viva-voce

Note: Students should be provided with a set of 3 questions to choose from at random. If they want to change the question, they can do so with a 10% penalty in total marks in each case. Students should be asked to develop algorithm and write a pseudo code on paper before they implement the programs on a computer. If the examiner is convinced that the student does not have knowledge to implement the solution, they may be given required assistance with a with a 5-10% penalty in total marks on a case by case basis. Program output will not be the sole criteria for assessment. Viva and debugging opportunity will be extended to students even if they do not complete programming tasks successfully. In short, every opportunity must be given to the student to express his/her knowledge and skills.



BSC 307. Microprocessors Lab

1. AIMS: To give hands-on exposure to 80x86 assembly language

2. OBJECTIVES:

In this course, students shall:

• Practice to use assembly language development tools like debug, TASM/MASM, Unix/Linux Codeview

• Practice majority of 8086 instruction set through simple examples

• Develop moderately complex assembly programs for 8086 processor

• Develop assembly routines in C/C++

3. SYLLABUS

The laboratory work will consist of 15-20 experiments

1. (a) Use the r command in Debug to display the values of the registers and then draw a diagram of the CPU showing the contents of all internal registers in (a) hex and (b) binary

(b) Use the e command in Debug to enter your name and address starting from offset 00ffh in segment 0565. Draw a diagram of the memory with contents based on the dump (d) command.

(c) Create a small text file using the DOS editor edit (for example, a letter). Check the size using DOS dir command. Then give the file name along with Debug command and check the contents of the file and verify the length.

(d) Using debug command ‘d’, dump a 256-byte memory location and interpret the structure of the output

(e) Enter the following data in memory locations specified and diagrammatically show the contents of the memory in hex:

Data Type Location

'A' ASCII 0500:100

A Bh byte 0500:101

0A7Ch Word 0500:102

ABBAFACEh Double Word 0500:104

"INDIA" ASCII String 0500:110

(f) B800:0000 is a special memory location. Enter any ASCII codes here, each one followed by the byte ffh, you will see something interesting happening in the left hand top corner of your screen. Note it down and try to explain it. Also repeat it with ffh replaced by 07, and 77.

2 (a) A sequence of word pairs are stored in location 0000:0000. The first word in the pair is an offset address and the second word is a segment address. Use dump and note down the first 5 such pairs

(b) The word stored in location 0040:0013 specifies the amount of usable memory in a PC. Dump this using the d command and convert it to decimal.

(c) Repeat (b) using a C program. To peep into a memory location using C, you must declare a far char pointer and then use the MK_FP function in C. Suppose p is such a pointer, then p=MK_FP(0X0040, 0X0013);

(d) The port address of the CRT Controller Chip is stored as a byte in locatiuon 0040:0063. Find this using Debug.

(e) ROM BIOS specifies character attributes as a byte in the following way (you have already had an occassion to learn this in Pract. I)

B R G B I R G B

----- -----

(1) (2) (3) (4)

(1) The bit B=0 for Nominal and =1 for Blinking (2) The next RGB represents Background colour

(3) The bit I=0 is for normal intensity and I=I is for bright display (4) The last RGB is for foreground (text) colour. RGB represents colurs as Black, Blue, Green, Cyan, Red, Violet, Brown and White corresponding to the valves 0 to 7. Display your name or any other word(s) of your choice with the following specifications, using debug:

First character Normal

Second Reverse

Third Blinking

Fourth Blinking White in Red background

Fifth Bright Blue in Blue backlground

Rest Upto our choice.

3-10. For each 8086 instruction, write simple examples covering different possible cases and use T option in Debug to trace the steps. Based on a register dump before and after execution of instructions, explain the instructions.

11. (a) Two arrays of bytes each of length 10th are stored in the memory from location 0a00 and 0b00 re spectively. Add the corresponding elements of the array and store the result starting from 0c00.

(b) Repeat (a), if the array is made up of words instead of bytes

(c) Modify (a) for swapping the contents of the arrays instead of adding. Also, repeat for the case of word array.

12. (a) Repeat (4) for multiplication instead of addition. Also repeat for word array instead of byte array.

(b) Write programs to achieve the following calculations and interpret the results. All numbers are given in base 10: (A) 56*63 (b) -56*63 (c) +275*-228 (d) 100/10 (f) -98/105

13(a) What is the forward reference problem in assemblers? How do you tackle it while using Debug? Explain with an example from Debug.

(b) Dumping the IVT, locate the address of the ISR for hardware interrupt on and unassemble it.

(c) Enter the ascci codes corresponding to your name in memory locations starting from 0200. Invoke interrupt 21H, service AH=9 to display the string on the screen.

(d) 8. In debug, without using '9' for quit, use int 21h. ah=4c to come out to DOS.

14. Under INT 10h, there are services available for setting video mode, setting cursor size, setting cursor position, reading cursor position, reading character attribute, write pixel, read pixel and get current video mode. Experiment each of these and report.15. Using interrupt 1AH, service 04h, read the real-time clock of the computer. Use this assembly segment in C program to generate a report of the program run time using a function called setclock( ) which returns the current time as an integer. By setting the clock at two points in a program, it should be possible to calculate the time difference.

16. (a) Using interrupt 19H. reboot the computer (b) Write an assembly program to test the printer by printing all alphabets and numerals using INT 21H, service 5H.(c) Using Int 11h, write a program to find out the number of floppy drives in the system and display the same, blinking, at the centre of the screen.

17 -20: Assembly programs which involve non-trivial logic (Program to implement modulo-n-counter for given delay, hexadecimal up-down counter, find sum of n natural numbers, find largest/smallest of n given numbers etc).

Optional: Interfacing experiments (generating sine and square waves and interfacing a cro to view them, interfacting a seven segment display etc).

4. REFERENCES

Same as for COS 305



5. NOTE ON CURRICULAR TRANSACTIONS:

For familiarizing with hexadecimal number system, a large number of tools are available: (i) AXE v2.1 is a free advanced Hex Editor (ii) Hex Workshop v3.11, is a set of hexadecimal development tools for Windows 9x, NT, and 2000 combining advanced binary editing with the ease and flexibility of a word processor. With Hex Workshop you can edit, insert, delete, cut, copy, and paste hex, print high quality customizable hex dumps, and export to RTF or HTML for publishing. For assembly programming itself, optional tool is ASMEdit 1.2 - A compiler for assembly programs that lets you write assembly programs in Windows. ASMEdit has a one-button Compile/Run function, that is, you can compile COM, EXE and other files at the press of a button. You can specify project comments and other details in one window, and also get instant compile/link details.

6. NOTE ON ASSESSMENT:

The In-semester laboratory assessment will be based on the following components:

2.5% for satisfactory conduct of each experiment (maximum 25%)

25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).

25% for laboratory record, with emphasis on recording of experimentations and justifications of the same.

25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions

The End-semester assessment shall be based on the following:

25% for a common Quiz conducted on all the experiments with 10-20 questions

75% for successful conduct of assigned tasks as follows:

25% for 2 minor programs to demonstrate basic programming ability (simple use of assembly instructions for addition, movement of data etc).

25% for developing and writing a program based on a problem statement involving non-trivial logic and requiring the use of the following features: different addressing modes, interrupts, subroutines).

15% for a viva-voce

Note:

1. Students shall not be required to memorise the exact syntax of instruction sets for any form of assessment. For both in-semester and end-semester assessment, students shall be supplied with 8086 instruction set reference prepared by the faculty.

2. Students should be provided with a set of 3 questions to choose from at random. If they want to change the question, they can do so with a 10% penalty in total marks in each case. Students should be asked to develop algorithm and write a pseudo code on paper before they implement the programs on a computer. If the examiner is convinced that the student does not have knowledge to implement the solution, they may be given required assistance with a with a 5-10% penalty in total marks on a case by case basis. Program output will not be the sole criteria for assessment. Viva and debugging opportunity will be extended to students even if they do not complete programming tasks successfully. In short, every opportunity must be given to the student to express his/her knowledge and skills.


semester 4


BSC 401 Computer Networks


1. AIM:

To introduce computer networks and through knowledge of data communication networks, their structures, techniques as well as some common standards.

2. OBJECTIVES:

On completion of this course student shall:

• Be aware of evolution of development of networks

• understand the basic transmission technologies and characteristics

• understand the use of layer architecture for networking systems

• understand the main link access protocols used in local networks and their performance characteristics

• understand the main design issues of transport protocols and the mechanism to control traffic flow and congestion.

3. SYLLABUS

Module–I: Introduction to Networking, Growth of Computer Networking, Transmission media- copper wires, glass fibres, radio, satellites, microwave, Local asynchronous communication, RS 232, baud rate, framing and errors, carriers modulation and modems.

Module-II: Packet transmission, packets, frames and error detection, point to point communication, LAN Topologies, Hardware addressing and frame type identification, LAN Wiring, physical topology and interface hardware.

Module-III: Protocols and layering, ISO 7-layer model, IP Addressing, scheme and hierarchy, IP Datagrams and datagram forwarding, IP encapsulation, fragmentation and reassembly, IPv6, UDP, TCP

Module-IV: Client-server interaction, Network management: SNMP, Network security, DNS,

Module-V: Practical networking, networking in Linux, Peer-to-peer networking, Measurement and packet analysis, blue tooth, emerging topics.

4. REFERENCES

4.1 Core References

Douglas E Comer, Computer Networks and Internets, 4/e, Pearson Education, ISBN 81-297-0330-0, Rs 325/-

4.2 Additional References

Douglas E Comer, Hands-on Networking with Internet Technologies: A Lab Manual, Pearson Education, ISBN 81-7808-786-3, Rs 150/-

Andrew S. Tanenbaum, Computer Networks, 4/e, Pearson Education, ISBN 81-7808-785-5, Rs 250/-

4.3 Internet resources:

www.netbook.cs.purdue.edu, www.labbook.cs.purdue.edu, www.edugrid.ac.in/webfolder/courses/cn/cn_index.htm

5. NOTE ON CURRICULAR TRANSACTIONS:

The networks used in the college/institute should be used as an object of study in this course. Student seminars may be assigned in modules I and V only.

6. NOTE ON ASSESSMENT:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 20% weightage

• 1 test paper- 30% weightage

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. A sample quiz is given below:

1. What topology provides each device with a point-to-point connection to every other device in the network ? Star, Bus, Mesh, Hierarchical

2. Ethernet is also known as ? 802.3, 802.11b, 803.2, 802.5

3. Computers on a bus only listen for data being sent they do not move data from one computer to the next, this is called ? dynamic topology/static topology/ passive topology/ active topology

4. Token Ring standards define services for the OSI, MAC sublayer of the data link layer, and what other layer ? Network/ Physical/ Session/ Application

5. Ring topology is a __ ? dynamic topology/ passive topology/static topology/ active topology

6.2 Assignment

Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.

6.3 Test Paper

This could be modeled after the question paper for the Final assessment, but of maximum 2 hours and without section C.

6.3 End-sem Assessment: Sample question (incomplete)

Section A: 10 out of 13 questions (at least two questions from each module), 10 x 3 = 30 This section should give an opportunity for the student to demonstrate his/her knowledge

A1. Internet address 193.130.10.4 is a member of which class? Why?

A2. Suppose 1000 7-bit characters are sent across an RS 232 connection that operated at 9600 baud, how long would the transmission require ?



Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30. This section should be designed to test the application skill of the student in a standard situation

B1. A cable TV station transmits 100 channels to its customers. Each channel alternates between programs and advertisements (10 minutes of programs and then 5 minutes of advertisements.) Is this more like TDM or FDM? Justify your answer.

B2 Give an example of a network in which damage to a single packet can cause a congestion.



Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module) 1 x 15 = 15. This section should present a challenge, an unstructured, non-standard problem

Eg. Design a sliding window protocol that allows transmission upto eight packets before an acknowledgement arrives. If a counter is to be added to signal packets that arrive out of order, what counter size is required. Why ?





BSC402.Data Bases

1. AIMS:

To introduce basic concepts of data bases, and related techniques and tools

2. OBJECTIVES:

• Be aware of basic concepts of data bases and data base management systems

• Be aware of concepts of relational data bases.

• Know to normalize relational data bases

• Skilled in using relational algebra and relational calculus

• Develop skills to write database queries

3. SYLLABUS

Module–I: Introduction: evolution of data base systems, overview of database management systems, Relational data model, mathematical definition, candidate, primary and foreign keys, set operations on relations, insertion, deletion and update operations, attribute domains.

Module-II: Relational algebra and relational calculus, Introduction to SQL, Table creation, selection, projection and join using SQL

Module-III: Functional Dependencies – Inference axioms, normalization, 1NF, 2NF, 3NF and Boyce-Codd Normal forms, Lossless and lossy decompositions.

Module-IV: The E-R Model, Entities and attributes, 1-1 and many-1, many-many relationships. Security – Physical and Logical, Design and maintenance issues, integrity.

Module-V: Study of features of MS Access, Open Office Base, Oracle, mySQL, emerging areas.

4. REFERENCES

4.1 Core References

Ramon A. Mata-toledo and Pauline K. Cushman, Fundamentals of Relational Data Bases, Schaum Outlines, Tata McGraw Hill, ISBN 0-07-047374-9, Rs 175/-

4.2 Additional References

Hector Garcia-Molina, J D Ullman, & Jennifer Widom, Database Systems: The Complete Book, Pearson Education, ISBN 81-297-0378-5, Rs 495/-

Atul Kahate, Introduction to Data Base Management Systems, Pearson Education, ISBN 81-297-0513-3, Rs 250/-

4.3 Internet resources:

www.pearson.co.in/AtulKahate, www.edugrid.ac.in/webfolder/courses/dbms/dbms_index.htm

5. NOTE ON ASSESSMENT:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 20% weightage

• 1 test paper- 30% weightage

5.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. Sample question types:

1. What is the cardinality and degree of the relation given below ?

2. Given below are a collection of relations. For each of the SQL query, find the result.

3. Is the following relation in (a) 1NF, (b) 2NF (c) 3NF ? [Y/N for each]

5.2 Assignment

Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.

5.3 Test Paper

This could be modeled after the question paper for the Final assessment, but of maximum 2 hours and without section C.

5.4 End-sem Assessment

Section A: 10 out of 13 questions (at least two questions from each module), 10 x 3 = 30

This section should give an opportunity for the student to demonstrate his/her knowledge

A1. Consider the following class definition, create an entity diagram for the class.

A2. What will be result of each of the 5 SQL queries, when applied on the relation given along ?

A3. Give the result of join operation for the following relations

A4. What is the difference between data security and integrity ?

Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30. This section should be designed to test the application skill of the student in a standard situation

B1 Consider the following relation:

A B C TUPLE#

10 b1 c1 #1

10 b2 c2 #2

11 b4 c1 #3

12 b3 c4 #4

13 b1 c1 #5

14 b3 c4 #6

Given the above extension (state) , which of the following dependencies may hold in the above relation? If the dependency cannot hold, explain why by specifying the tuples that cause the violation. i. A -> B, ii. B->C, iii. C->B, iv. B->A, v. C->A

Does the above relation have a potential candidate key? If it does, what is it? If it does not, why not?

B2.. Consider the universal relation R = {A, B, C, D, E, F, G, H, I, J} and the set of functional dependencies F = {{A,B} -> {C}, {A} -> {D, E}, {B} -> {F}, {F} -> {G, H}, {D} -> {I, J}}. What is the key of R? Decompose R into 2NF and then in 3NF relations.

Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module) 1 x 15 = 15. This section should present a challenge, an unstructured, non-standard problem

C1. You will be working with the following schema:

1. Employee(SSN#, name, salary, DNo)

2. Department(Dno#, DeptName, MgrSSN)

3. Project(Pno#, location, ProjName)

4. HourLog(SSN, PNo, hours)

a) Find the name and the SSN of everyone who works more than 100 hours on one particular project.

b) Find the name and SSN of everyone who works for department number 1 and also work on project number 2.

c) Find the name and the SSN of everyone who works on at least two projects.

d) Find the SSN of everyone who is not working on any project.

e) Find the name and the SSN of everyone who works on every project.



BSC403.Programming in Java

1. AIMS:

To introduce students to basic features of Java language and selected APIs

2. OBJECTIVES:

• Let students install and work with JDK, also make them aware the use of java doc.

• Practice basic data types, operators and control structures in Java

• Practice basic handling of classes and objects in Java

• Introduce the following selected APIs: I/O, Strings, Threads, AWT, Applet, Networking

• Idea to approach and use a new package

3. SYLLABUS

Module–I: A simple Java Application, a simple Java Applet , Brief History of Java, Special Features of Java, Data Type & Operators in Java, Arrays, Objects, the Assignment Statement, Arithmetic Operators, Relational and Logical Operators in Java, control Structures, The Java Class, Constructor, Finalizers, Classes inside classes : composition

Module-II: Inheritance & Interface, Deriving Classes, Method Over-riding, Method Over-loading, Access Modifiers, Abstract Class and Method, Interfaces, Packages, Imports and Class Path.

Module-III: Exception Handling, The Try-Catch Statement, Catching more than one Exception, The Finally Clause, Generating Exceptions, Threads: Introduction, Creating Threads in Applications, Method in Thread Class, Threads in Applets.

Module-IV: Java APIs – overview of APIs, IO Packages, Java Input Stream Classes, Java Output Stream Classes, File Class, Graphic & Sound: AWT and Swing, Graphic methods, Fonts, Loading and Viewing Images, Loading and Playing Sound, AWT & Event Handling, Layouts

Module V: Network Programming, IP Address & Port Numbers, URLs, Client & Server Concept, Port & Socket, Server Socket, Simple Server And Client program, miscallaneous Topics: Parameters in Applets, JavaBeans, JDBC, RMI

4. REFERENCES

4.1 Core References

NIIT, Java: Foundations of Programming, PHI, Rs 195/-.

Java Programming, Schaum Outline Series

4.2 Additional References

Deitel, Java: How To Program, Pearson Education, ISBN 81-2970-488-9, Rs 495/-

Bruce Eckel, Thinking in Java, Education, ISBN 81-2970-524-9, Rs 550/- (Also freely downloadable)

Jerry R Jackson & Alan L McClellan , Java By Example, Sunsoft (Prentice Hall)

4.3 Internet resources:

www.edugrid.ac.in/webfolder/courses/java/java_index.htm

http://javaboutique.internet.com/articles/ITJqanda/

http://java.sun.com/

http://sunsite.unc.edu/ javafaq/javatutorial.html

http://freewarejava.com/

http://WebDevelopersJournal.com/hubs/javahub.html

www.javalobby.org

www.javacoffeebreak.com/tutorials/swing/index.html

http://java.sun.com/docs/books/tutorial/getStarted/index.html

www.javacoffeebreak.com/tutorials/gettingstarted/index.html

http://java.sun.com/developer/onlineTraining/

http://scv.bu.edu/Tutorials/WWWProg/Java/

www.tutorialized.com/tutorials/Java/General-Java/1

http://mindview.net/Books/TIJ/DownloadSites

http://www.freewarejava.com/

http://www.gcek.net/ref/books/zip/

http://oopweb.com/Java/Documents/IntroToProgrammingUsingJava/VolumeFrames.html

http://oopweb.com/Java/Documents/ConcProgJava/VolumeFrames.html

http://notes.corewebprogramming.com/





5. NOTE ON CURRICULAR TRANSACTIONS:

Though Java Gurus may differ, it is recommended that Java is introduced by contrasting it with C++. In the introductory stage, do not write main( ) inside the class definition itself, eventhough java permits it. The following style is recommended.

class Num1 {

int x;



Num1(int a)

{

x = a;

}



void showValue( )

{

S.o.p(x);

}

}

import java.io.*;

public class c1 {

public static void main (String args[ ])

{







}

}

Even though in industry, variables are named by descriptive identifiers, for academics, it may not be appropriate, Plain old x, y, z would do to begin with, for objects. It is advisable that handouts are used in the lecture classes to cover large number of examples in a short time (example given in BSC201). Students should not be made to memorise any APIs. Student seminars may be given in Module V only.

6. NOTE ON ASSESSMENT:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 20% weightage

• 1 test paper- 30% weightage

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. A sample quiz is given below:



Each question carries 10 marks.

1. Consider the following program:

import myLibrary.*;

public class ShowSomeClass

{

// code for the class...

}

What is the name of the java file containing this program?

A. myLibrary.java B. ShowSomeClass.java

C. ShowSomeClass D. ShowSomeClass.class

E. Any file name with the java suffix will do

2. Which of the following is TRUE?

A. In java, an instance field declared public generates a compilation error.

B. int is the name of a class available in the package java.lang

C. Instance variable names may only contain letters and digits.

D. A class has always a constructor (possibly automatically supplied by the java compiler).

E. The more comments in a program, the faster the program runs.

3. Consider the following code snippet

String river = new String(“Columbia”);

System.out.println(river.length());

What is printed?

A. 6 B. 7 C. 8 D. Columbia E. river

4. A constructor

A. must have the same name as the class it is declared within.

B. is used to create objects.

C. may be declared private

D. A and B

E. A, B and C

5. Which of the following may be part of a class definition?

A. instance variables B. instance methods

C. constructors D. all of the above

E. none of the above

6. What is different between a Java applet and a Java application?

A. An application can in general be trusted whereas an applet can't.

B. An applet must be executed in a browser environment.

C. An applet is not able to access the files of the computer it runs on

D. (A), (B) and (C).

E. None of the above

7. Consider

public class MyClass{

public MyClass(){/*code*/}

// more code...

}

To instantiate MyClass, you would write?

A. MyClass mc = new MyClass(); B. MyClass mc = MyClass();

C. MyClass mc = MyClass; D. MyClass mc = new MyClass;

E. It can't be done.

8. The constructor of MyClass should be defined as

public void MyClass(){/*code*/}

What is byte code in the context of Java?

A. The type of code generated by a Java compiler

B. The type of code generated by a Java Virtual Machine

C. It is another name for a Java source file

D. It is the code written within the instance methods of a class.

E. It is another name for comments written within a program.

9. What is garbage collection in the context of Java?

A. The operating system periodically deletes all of the java files available on the system.

B. Any package imported in a program and not used is automatically deleted.

C. When all references to an object are gone, the memory used by the object is automatically reclaimed.

D. The JVM checks the output of any Java program and deletes anything that doesn't make sense.

E. Janitors working for Sun MicroSystems are required to throw away any Microsoft documentation found in the employees' offices.



10. Consider the following statement in a Java program that compiles and executes: submarine.dive(depth);

What can you say for sure?

A. depth must be an int B. dive must be a method.

C. dive must be the name of an instance field.

D. submarine must be the name of a class

E. submarine must be a method.

6.2 Assignment

Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Example tasks are:



Q1. Write a Java applet to draw the Olympics Rings, where the color of the rings will change in continues time interval and the coloring effect will be stopped on mouse over.



Q2. Write a Java applet with functionalities similar to the calculator in PCs



Q4. Create a data base of student data (id, name, age, mark) using MS Access. Write a Java applet which will enable the users to query the database and display the results. The applet can display textfields for id/name and for any value typed in, the program should connect to the database and execute the query and display the corresponding student record, if found. For age and marks, it should also be possible to specify a condition (say age>20 or mark between 50 and 80 etc).



Q5. Study the following Java APIs and develop simple examples to demonstrate the API classes. The examples need not be exhaustive.

java.net, java.commerce,



Q6. Find the source code for Vector in the Java source code library that comes with all Java distributions. Copy this code and make a special version called intVector that holds only ints. Consider what it would take to make a special version of Vector for all the primitive types. Now consider what happens if you want to make a linked list class that works with all the primitive types. If parameterized types are ever implemented in Java, they will provide a way to do this work for you automatically (as well as many other benefits).

6.3 Test Paper

This could be modeled after the question paper for Final assessment, but of maximum 2 hours, without section C

6.3 End-sem Assessment

Section A: 10 out of 12 questions (at least two questions from each module), 10 x 3 = 30

This section should give an opportunity for the student to demonstrate his/her knowledge

A1. (a) Give any two differences between Java applications and applets. (b) A Java program is available in the file c1.java. how will you compile it ? What output file created and what does it contain ?



A2. (a) Give any two differences between byte and char data type in Java. (b) In the following code, which are ( i ) member data, ( ii ) member methods and ( iii ) constructor

class num1 {

int x;

int y;

num1(int a, int b) {x = a; y = b; }

public static void showValue( )

{ System.out.println(x+ “ , ”+y); }

}



A3. (a) ( i ) Is it possible for a child class to have two parent classes ? ( ii ) Is it possible for a parent class to have two child classes ? (b) What is the difference between method over-ridding and method over-loading ?

A4. (a) What will be the output of the following program ?

import java.io.*;

public class c2 {

public static void main(String argv[ ])

{

int i, j, k;

i=1; j=0;

try { k=i/j;

}catch (ArithmeticException e) {System.out.println(“Division be zero”); }

}

}

(a) For an int array a[ ] with 5 elements, ( i ) Which method can be used to know the number of elements in the array ? ( ii ) What will happen if a reference to a[ i ] is made with i = 20 ?



A5. (a) Give the Java statement to create server socket. (b) Write in one sentence, the function of each of the following Thread methods: Thread.sleep( ); Thread.setPriority( ); Thread.start( );

A6. (a) Which Listeners are used for each of the following GUI components? Button, Choice, (b) In the MouseListener used to handle mouse events, name any three methods(with arguments)



A7. (a) Which file formats are permitted by Java for Image files & Sound files , (b) Name any 3 Java APIs along with their use. (in one sentence each)

Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30. This section should be designed to test the application skill of the student in a standard situation

B1. (a) Write a Java class num1 with the following member data and methods:

Member data :

Two integers

Member methods:

Constructor

void showSum( ) – used to print out the sum of member data.

Also write a Java application to demonstrate the use of an object of type num1.

(b) Write a Java class num2 which is a child class of num1. Include two additional methods as follows:

void showDifference( );

void showTimes( );

Also write a Java application to demonstrate the use of an object of type num2.

B2. Write an interactive Java Applet which permits the user to enter two numbers in two text fields and then permits the user to click on the “Add” or “Subtract” buttons to produce the result in the third text field.

B3. Write a Java applet which will display an image “tower.gif” (available in the current directory) in a zooming manner (from size of 10 by 10 to 200 by 200) along with a background music played from the file “janagana.au”.

Section C: 1 or 2 questions (Could be from any specific module/ covering more than one module) 1 x 15 = 15. This section should present a challenge, an unstructured, non-standard problem)

C1. Write a Java applet with functionalities similar to that of the calculator in PC operating systems.

C2. Write a pair of client server applets which will enable a text message to be transmitted from the client to the server.







BSC 404 Mathematics II

1. AIMS:

• To introduce mathematical concepts and techniques that have applications in computer science field

2. OBJECTIVES:

• To introduce advanced differential calculus

• To introduce solutions of differential equations

• To introduce Number theory

• To introduce Complex Number Theory.

3. SYLLABUS

• Module–I: Review of basic differentiation, Differentiation of hyperbolic functions, derivatives of hyperbolic functions, inverse hyperbolic functionsm logarithmic differentiation, implicit differentiation, Lebnitz’s theorem, Mean value theorem, Rolle’s theorem, Lagrange’s mean-value theorem, Maxima and minima.



Module–II: Differential equations, General Concepts, Formulation and solution of differential equations, solution of higher order linear DEs. partial Des, Laplace and Inverse Laplace transforms



Module–III: Theory of Numbers, prime numbers, Unique factorization theorem, Euclidean algorithm, congruences, Fermat’s theorem, Wilson’s theorem



Module–IV: Complex Numbers, Seperation into real and imaginary parts, Complex mapping



Module V: Miscallaneous Topics: Markov processes. Harmonic analysis and Fourier series, Linear Programming



4. REFERENCES

Erwin Kreyzig, Advanced Engineering Mathematics, New Age International Pvt Ltd.

Shanthi Narayan, Differential Calculus, S Chand & Company

Zafar Ahsan, Differential Equations and their applications.

Rudra Pratap, Getting Started with MATLAB, Oxford University Press, ISBN 0-19-515014-7, Rs 275

4.3 Internet resources:

www.ams.org/mathweb

www.falstad.com/mathphysics.html

//cs.jsu.edu/mcis/faculty/leathrum/Mathlets

//archives.math.utk.edu/visual.calculus/

5. NOTE ON CURRICULAR TRANSACTIONS:

Mathematics is traditionally taught in an abstract way, without relating it to day-to-day life and applications in the field of concern, viz, computer science. While proofs are unavoidable at least in class, they should by no means become the main stay of learning and should not become part of assessment. An insight into mathematical principles which enable learners to relate it to physical world is to be attempted. The applets and simulations suggested in the internet resources are an excellent beginning for this transformation in approach. It is also recommended that, demonstration on softwares like MATLAB are made a part of lecturing.

6. NOTE ON ASSESSMENT:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 30% weightage

• 1 test paper- 40% weightage

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type.

6.2 Assignment

Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See first semester syllabus for examples.

6.3 Test Paper

This could be modeled after the question paper for Final assessment, but of maximum 2 hours without section C

6.3 Final Assessment

Section A: 10 out of 13 questions(at least 2 questions from each module); 10*3=30 marks

This section should give an opportunity for the student to demonstrate his/her knowledge

Section B: 5 out of 8 questions (two question from each module); 5*6=30 marks

This section should be designed to test the application skill of the student in a standard situation

Section C; 1 out of 2 questions (could be from any module/cover more than one module) 1*15=15

This section should present a challenge, an unstructured, non-standard problem





BSC 405 Minor Projects & Seminar

1. AIMS:

Minor project will give an opportunity for students to prepare for the major project and also contribute to achieving some of the objectives of the major project. Minor projects shall also serve as an opportunity for producing and distributing socially useful softwares. Seminars will give an opportunity for the students familiarize literature search, and to practice assimilating knowledge from published literature on current and emerging topics and communicate the same in their own words through a technical presentation.



3. GUIDELINES FOR MINOR PROJECT

Generally, guide lines for Major projects are applicable to Minor project also. However, in view of the time allotment, the following specific guidelines are applicable:

1. Individual projects are to be permitted, if desired by any student

2. Full-time attachment to any external organization is not mandatory, mostly minor projects can be done in the college itself.

3. The type and scope of the project is completely flexible, the only constraint being that considerable effort should be involved and technical work should not be completely absent.

4. Specifically, web site development, game development, utility software development, educational software development, Malayalam computing, mobile computing etc are to be encouraged.

5. No restrictions shall be placed on the students in the choice of platforms/tools/languages to be utilized for their project work, though open source is strongly recommended, wherever possible. No value shall be placed on the use of tools in the evaluation of the project.

6. It should be possible for students to develop softwares that cater to the needs of the general public. Students are encouraged to develop software products or software components which should be distributed free through the university website. E-learning is a vast area suitable for very effective distribution of such software for very simple reason that there is scope for a large number of such programs and most often they do not need maintenance or updation. They are to be deployed with source code under General Public License (GPL) so as to make it possible for others to make further improvements.

7. There shall be an internal supervisor for the minor project. While an external supervisor is also permitted in cases where the students opt attachment to external organizations, they shall not be assessing the work.

5. NOTE ON ASSESSMENT OF MINOR PROJECTS:

There shall be 4 components that will be considered in assessing a minor project work, with weightage as indicated below. The first two components will be considered as in-sem assessment and the rest as end-sem assessment:

• Quantum of technical and creative work: 40%

• Quality of Project Documentation (precision, stylistics etc) 10 %

• Effective Technical Presentation (relevant guidelines of seminar applicable here too) of Project work 25 %

• Viva (approximately half the questions shall enable students to express what they did, and the rest can be challenging their knowledge in the area of work) 25%





6. GUIDELINES FOR SEMINARS

Seminars are opportunities for self study of a selected topic and a formal presentation of the same. Skills acquired in BSC102 course should be utilized here in addition to practicing serious focused reading and assimilation of science and technology literature. Students may be given a list of suggested topics during the first week of the semester itself, with freedom to choose other topics if they wish so. Seminars shall have a supervisor assigned from within the institute/college. There shall not be any restriction on more than one student choosing the same topic in the same semester (or in previous years). This possibility should be reduced by fresh suggestions each year. In case of more than one student choosing the same topic, they should be alerted that plagiarism will be closely scrutinized. In addition to List of magazines and Journals Recommended in Appendix-I, faculty should suggest other periodicals and students may also search the internet.



Presentations shall be made using Powerpoint/Presenter slide show (in case of non-availability of projectors, the presentation slides should be photocopied onto transparencies and used with OHP. Students should be encouraged make extempore presentations without memorizing (they should be advised to practice the presentation at home and record their speech and repeatedly listen to the playback). Every student shall distribute a one-page abstract of his/her seminar to all participants.



Before the last week of the semester, the student shall also submit a report of not less than 10 pages. Even though seminar report need not have any original content, students are to ensure that the report is in their own words and any verbatim inclusion of material is properly cited. The seminar reports should be preferably made in LaTeX and follow IEEE style (see www.ieee.org).



Students may be encouraged to take part in inter-collegiate student seminars organized by various colleges, and those who present papers in such seminars on any topic, shall be given bonus marks as follows on production of certificates (subject to the condition that the total marks do not exceed the max. marks): participation 5%, winning prizes: 10%. Any question of non-admissability of such certificates shall be decided by a 2-member committee of faculty members nominated by the Head/Principal of the institution.



7. NOTE ON ASSESSMENT OF SEMINARS:

Seminars shall be assessed based on the following 5 components, the first 3 being considered as in-sem assessment and the rest as end-sem assessment:

Richness of references cited: 20%

Seminar report (content, style, own language): 20%

Participation in Seminars (based on attendance & number of questions raised): 10%

Seminar presentation (Style, time management, presentation material, knowledge): 25%

Defending questions from participants and faculty: 25%









BSC 406. Programming Lab – III

1. AIMS:

To provide an opportunity for hands-on practice in Java.

2. OBJECTIVES:

This course will provide hands-on practice in a the following topics, under a variety of programming situations with a focus on writing, debugging and analyzing object oriented programs:

• basic data types and control structures in Java

• installing and using JDK

• writing applications and applets

• managing classes and objects in a variety of situations

• using i/o, string, threads and net APIs

• solving moderately complex problems involving the above.

3. SYLLABUS

The laboratory work will consist of 15-20 experiments

1. Testing out and interpreting a variety of simple programs to demonstrate the syntax and use of the following features of the language: basic data types, operators and control structures.

2. Class definitions and usage involving variety of constructors and finalizers

3. Programs involving various kinds of inheritances,

4. Program involving Method Over-riding, Method Over-loading

5. Program involving Abstract Class and Methods

6. Program involving Interface,

7. Program to demonstrate creation and handling of packages, their imports and Class Path.

8. Programs involving a variety of Exception Handling situations

9. Program to define a class that generates exceptions and using objects of the class.

10. Program involving creating and handling threads in applications and applets.

11-12: Programs to demonstrate methods of various i/o classes

13. Programs to demonstrate methods of string class

14. Program to demonstrate AWT/Swing graphic methods

15. Program for Loading and Viewing Images, Loading and Playing Sound

16. Programs to demonstrate various Layouts

17-18 Programs to demonstrate event handling

19. Program to demonstrate simple server-client (using a single m/c both as client and server)

20. Debugging programs involving syntactic and/or logical errors

5. INTERNET RESOURCES

http://java.about.com/od/idesandeditors/

http://www.programmingtutorials.com/java.aspx

http://java.sun.com/docs/books/tutorial/

http://www.cs.chalmers.se/~woj/java/tutorial/getStarted/index.html

http://www.cs.chalmers.se/~woj/java/tutorial/applet/index.html

http://learning.unl.ac.uk/java1/

http://www.thefreecountry.com/programming/javaide.shtml

http://java.about.com/cs/javaquickstart/tp/begineditors.htm

www.programmersheaven.com

5. NOTE ON CURRICULAR TRANSACTIONS:

After developing a few programs in JDK, any free downloadable IDE may be used. Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a syntactic/semantic modification in the program and then test it out and discuss the result. Students shall be supplied with handouts for each experiment specifying the aims and objectives of the experiment, specific tasks to be done, and questions to be answered. A sample related to introduction to classes is given below: Consider the following class declaration and program. Implement the methods f1, f2 … using dummy print statements and then predict which are the legal and illegal references to data and methods, and test out by compiling the program

class Vehicle{

private int x;

protected int y;

public int z;

int w;

private void f1( ) {…}

public void f2( ) { …; f1( ), ….;}

protected void f3( ) {….; f1( ); ….; f2( );…;}

void f4( ) {….}

}

class Car extends Vehicle{

private int p;

protected int q;

public int r;

int s;

private void f5( ) {…}

public void f6( ) { …; f1( ), f5( );}

protected void f7( ) {….; f2( ); ….; f3( ); f4( );…;}

void f8( ) {f6( ); f7( ); ….}

}



class c1 {

public static void main( )

{

Vehicle v(5,6,7,8);

Car c(9,8,7,6);

print(v.x+”,”+v.y+”,”+v.z+”,”+v.w);

print(c.p+”,”+c.q+”,”+c.r+”,”+c.s);

v.f1( ); v.f2( ); v.f3( ); v.f4( ); v.f5( );

c.f1( ); c.f2( ); c.f3( ); c.f4( ); c.f5( ); c.f6( ); c.f7( ); c.f8( );

}

}

6. NOTE ON ASSESSMENT:

The In-semester laboratory assessment will be based on the following components:

2.5% for satisfactory conduct of each experiment (maximum 25%)

25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).

25% for laboratory record, with emphasis on recording of experimentations and justifications of the same.

25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions

The End-semester assessment shall be based on the following:

25% for a common Quiz conducted on all the experiments with 10-20 questions

75% for successful conduct of assigned tasks as follows:

25% for 2 minor programs to demonstrate basic programming ability (such as declaring a simple class and instantiating an object, with stress on syntax and minor logic involved).

25% for developing and writing a program based on a problem statement involving non-trivial logic and requiring the use of one or more of the following features: classes, inheritance, function overloading, operator overloading, exception handling, virtual base classes, templates.

10% for successfully debugging a given program

15% for a viva-voce

Note: Students should be provided with a set of 3 questions to choose from at random. If they want to change the question, they can do so with a 10% penalty in total marks in each case. Students should be asked to develop algorithm and write a pseudo code on paper before they implement the programs on a computer. If the examiner is convinced that the student does not have knowledge to implement the solution, they may be given required assistance with a with a 5-10% penalty in total marks on a case by case basis. Program output will not be the sole criteria for assessment. Viva and debugging opportunity will be extended to students even if they do not complete programming tasks successfully. In short, every opportunity must be given to the student to express his/her knowledge and skills.





BSC 407. Databases Lab

AIMS:

This course will provide hands-on practice in a the following topics, under a variety of computing situations with a focus on writing and analysing SQL statements:

• Installing and configuring a proper SQL tool

• Database design and implementation

• Writing and analysing SQL statements

• Create user interface (using java AWT) and study the working of a data base in a front end application

2. SYLLABUS

The laboratory work will consist of 15-20 experiments. Tools to be used include: Personal Oracle 8/ MS Access/OpenOffice Base/Java. Experiments will cover creating tables including defining relations between them, practicing SQL, experiments designed around a case study, miscellaneous topics including security, connecting databases to front-end applications. Some sample topics are given below:



1. SQL statement for creating, listing, dropping, checking, updating tables

2. Record manipulation using-insert, delete, update

3. Experiments that clarify the importance of keys (except foreign key)

4. Queries with an expression and a column alias

5. A simple query that aggregates (groups) over a whole table

6. A query with a literal string in the SELECT list

7. Queries with sub string comparison and ordering

8. Query using the "IS NULL" syntax to list (compare ‘=NULL’ instead of IS NULL”)

9. Finding values within a certain range

10. Using the --"BETWEEN" keyword

11. A Join between two tables (foreign key)

12. Nested queries

13. The EXISTS and UNIQUE function in SQL

14. Renaming attributes and joined tables

15. Statements related with VIEWs

16. Creating an application program that uses database as backend

6. NOTE ON ASSESSMENT:

The In-semester laboratory assessment will be based on the following components:

2.5% for satisfactory conduct of each experiment (maximum 25%)

25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).

25% for laboratory record, with emphasis on recording of experimentations and justifications of the same.

25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions

The End-semester assessment shall be based on the following:

25% for a common Quiz conducted on all the experiments with 10-20 questions

75% for successful conduct of assigned tasks as follows:

25% for 2 minor programs to demonstrate basic programming ability (such as declaring a simple class and instantiating an object, with stress on syntax and minor logic involved).

25% for developing and writing a program based on a problem statement involving non-trivial logic and requiring the use of one or more of the following features: classes, inheritance, function overloading, operator overloading, exception handling, virtual base classes, templates.

10% for successfully debugging a given program

15% for a viva-voce

Note: Students should be provided with a set of 3 questions to choose from at random. If they want to change the question, they can do so with a 10% penalty in total marks in each case. Students should be asked to develop algorithm and write a pseudo code on paper before they implement the programs on a computer. If the examiner is convinced that the student does not have knowledge to implement the solution, they may be given required assistance with a with a 5-10% penalty in total marks on a case by case basis. Program output will not be the sole criteria for assessment. Viva and debugging opportunity will be extended to students even if they do not complete programming tasks successfully. In short, every opportunity must be given to the student to express his/her knowledge and skills.



semester 5


BSC 501 Science & Technology Communication

1. AIMS:

To expose students to specimens of science communication and technology documentation and to impart basic skills in technical documentation

2. OBJECTIVES:

On completion of this course, students should:

• Have exposure to current science writings

• Be aware of features of efficient science communication

• Be skilled in making presentations

• Be skilled in technical documentation

• Be skilled in software documentation

3. SYLLABUS

Module-I: Science Communication: Reading and critical analysis of current science writing.

Module-II: Technical Communication: Overview of verbal communications, Technical Presentations: Open Office Presenter/Microsoft Office Power Point, Preparation of Presentation materials, Effective use of color, images, sound, video-clips, animations and special effects.

Module-III: Science & Technology Writing: Overview of written communication Skills, types of written communication for computer professionals, guidelines for written communication, writing requests for proposals, business plans, product development support documents, writing effective business letters, publishing in Magazines, technical papers, publishing books

Module-IV: Software documentation, Functions and main goals of user documentations, usability of documents, structured approach to developing documents, analysis, design, development, assembly, editing, testing and maintenance of documentation, Case studies of documenting popular software/Microprocessor instruction sets/programming or scripting languages

Module-V(Flexi): Introduction to LaTeX – Preparing documents involving text, tables, enumerations, pictures, multiple columns, math and special symbols, matrices and equation arrays, references and indexes.

4. REFERENCES

4.1 Readings

• Thomas Joseph (Ed), New Trends, Mahatma Gandhi University & DC Books, ISBN 81-7130-962-3, Rs 25/- (Writings of Amartya Sen, Arundhati Roy, Larry Kom, Vandana Shiva, Aravind Gupta, Fritjof Capra, S. Kappen)

• IT Trends column by Anand Parthasarathy, The Hindu, Thursdays

• Speaking of Science column by D Balasubramanyam, The Hindu, Thursdays

• Sukanya Datta, Operation Gene, CSIR, New Delhi ISBN 81-7236-087-8, Rs 20/-

• Robert M Hazen & James Trefil, Science Matters, Universities Press, Rs 135/-

• Richard P Feynman, Surely You are joking Mr Feynman, Bantam

• Eric S Grace, Biotechnology Unzipped, Universities Press, ISBN 81-7371-144-5, Rs 225/-

• A P J Abdul Kalam, India 2020 : A vision for the new Millenium, Penguin, ISBN 01-40-278338

• Farr A D, science writing for beginners, Blackwell, ISBN 0-632-01362-1

4.2 References

• Alan R Simpson and Jordan Simon, The Computer Professionals Guide to Effective Communication

• Edmond H Weiss, How to write usable user documentation, 2/e

• Vikas Gupta, Linux & Open Office Course Kit, Dreamtech, ISBN 81-7722-493-X, Rs 299/-

• Ramesh Bangia, Learning Power Point, Khanna Book Publishing Co, ISBN 81-87522-63-1, Rs 50/-

• Leslie Lamport, Latex:A Document Preparation System, Pearson Education, ISBN 81-7808-575-5, Rs 275/-

4.3 Internet resources:

http://www.egroups.com/list/tw-in - Technical writing in india

5. NOTE ON CURRICULAR TRANSACTIONS:

This is a non-conventional course and should be mostly activity oriented. For module –I, group of students (6 students chosen by drawing lots) should be asked to read the articles from New Trends and discuss it among themselves and make a presentation in the class, each one covering one aspect (style, organization, vocabulary, inspiration etc) of the writing, one of them summarizing the content. Each student should select one (or part of) the remaining readings and make a similar written report. For module-II, couple of lectures may de given. Then each student should be asked to make a Presenter/Powerpoint presentation designed incorporating the design principles learned, on the same topic on which they submit individual reports in Module-I.

In module-III, group of students (6 students chosen by drawing lots) should be asked to prepare at least two among the following: requests for proposals, business plans, product development support documents, business letters, Magazines article. In Module-IV, students should be asked to select a simple software (for example, freeware utilities) and prepare a user documentation for the same. In module-V, a brief overview of LaTeX may be given through lectures/demo and then a moderately complex technical paper involving mathematical typesetting should be given and students asked to typeset them in LaTeX.

6. NOTE ON ASSESSMENT:

There shall be no traditional written exam for this course. A set of 4 different activities (as indicated in curricular transactions) should be chosen as in-sem assessment components, with 25% weightage each. For end-semester assessment the following activities may be given, with equal weightage: (i) Letter writing, (ii) summarising a science writing (iii) soryboarding a presenter/power point presentation based on the previous writing and (iv) preparing a documentation for a software based on 3-4 screen shots provided.



BSC 502 Web Programming

¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1. AIMS:

• To expose students to technology of web sites and to introduce various tools and languages required for technical and creative design of state-of-the-art web sites

2. OBJECTIVES:

• To impart basic skills in moderately complex use of the following tools/scripts/languages: HTML, DHTML, CGI Script, Perl, CSS, Javascript, ASP and JSP.

• To impart necessary ability to choose the appropriate web tools/languages for creating state-of-the art web sites

• To expose students to current trends and styles in web design and applications



3. SYLLABUS

Module–I: HTML: General Introduction to Internet and WWW; Text tags; Graphics, Video and Sound Tags; Link and Anchor Tags; Table Tags; Frame Tags; Miscellaneous tags (layers, image maps etc); CSS; DHTML; example Applications; simple introduction to XML and VRML

Module–II: CGI Programming: HTML Forms and Fields; Perl: Basic control structures, data types and basic features; CGI Programs: GET & POST methods, simple applications; Cookies; Server Side Includes; example Applications;

Module–III : Javascript: Basic data types; control structures; standard functions; arrays and objects, event driven programming in Javascript; example Applications;

Module–IV: JSP: Architecture of java Servelets; Servelet Structure; Servelet Life Cycle; Request and Response Objects; Sessions; Invoking servelets; example Applications;

Module–V (Flexi): Miscallaneous: JDBC; PHP; .NET Technology; C#; Creative Design of Web sites; Macromedia flash, Web Servers, Web databases, Web Administration and Maintenance.



4. REFERENCES

4.1 Core References

• V.K. Jain, Advanced Programming in Web Design, Cyber Tech Publications, ISBN 81-7884-019-VII, Rs 360/-

4.2 Additional References

• Joel Sklar, Priciples of Web Design, Vikas, Rs 225

• H M Deitel, P J Deitel & A B Goldberg, Internet and Worldwide web programming: How to Program, 3/e, Pearson Education, ISBN 81-297-0408-0, Rs 495/-

4.3 Internet resources:

www.deitel.com, www.prenhall.com/deitel,

www.asptutorial.info/ Active Server Pages tutorial for beginners

www.learnasp.com/learnasp/ Free lessons, download programs, tutorials, training kit on ASP.

http://notes.corewebprogramming.com/student/XML.pdf Presentation on XML, with examples

http://notes.corewebprogramming.com/ study materials on HTML, Java, Javaservelets, Javascript

www.rh.edu/~heidic/webtech/notes/ CGI, JSP, JDBC, javaBeans, JavaScript, XML, servelets.

www.redbrick.dcu.ie/help/slides/week7_perl/perl.ppt .

www.cs.drexel.edu/~jjohnson/2004-05/winter/cs265/lectures/perl.ppt

www.redbrick.dcu.ie/help/slides/week6_php/php.ppt

www.nada.kth.se/kurser/kth/2D2052/ingint04/PHP.pdf

5. NOTE ON CURRICULAR TRANSACTIONS:

Students should be asked to visit model web sites and review the same in terms of technology, design, utility and aesthetic appeal. (www.kerala.gov.in, www.swathithirunal.org, www.google.com, www.samachar.com )

6. NOTE ON ASSESSMENT:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 30% weightage

• 1 test paper- 40% weightage

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. Some sample questions are given below:

6.1 Model Questions for Quiz: [10-20 questions for each module, conducted at the end of the lectures related to the module should be of the type given at the end of chapters in additional reference 2 (Deitel). ]

6.2 Sample Assignments: Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. A sample assignment is given below:

DESIGN OF PERSONAL WEB-SITE:

You are required to design a personal web site (of either yourself or of an important personality of your choice) to demonstrate the understanding of the tools covered in the course. The following are the aspects which needs to be addressed:

1. Variety of HTML tags used: frames, forms, tables, *image maps, anchors - both within and outside the pages.

2. Use of a common Style Sheet on all pages

3. Use of Java Script, including event handling, *cookies, *browser detection and *validation of form data

4. Use of Dynamic HTML

5. Use of Server-side scripting as well CGI scripting (using both GET and *POST methods).

6. Inclusion of *registration, *guest books, *chat facility etc

7. Provision of *site search facility

8. Inclusion of banner advertisements, preferably on a barter basis.

9. Uploading of the site in any free web-hosting server (geocities, tripod, xoom..)

10. * Listing of the site in any one search engine under relevant keywords

6.3 Test Paper

This could be modeled after the question paper for the End-sem assessment, but of maximum 2 hours with section C avoided.

6.4 End-sem Assessment

The model questions below is incomplete and only indicate the type of questions and do not cover all topics.

Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30. This section should give an opportunity for the student to demonstrate his/her knowledge

A1 (a) Give the HTML code for the following browser display (b) Give two comparisons between jpg and gif image file formats.

A2 (a) Give the HTML code for the following table. The picture shown in top left cell is “sing.gif” and the bottom right cell is “viet.gif”. (b) Even when an image is used with its actual size in an HTML file, it is preferable to have HEIGHT and WIDTH specified in IMG tag. Why ?

A3 (a) Give the HTML code for the following form (b) In example (a), if the name is entered as Lisa and password as 2536A, what will be the QUERY_STRING available to the CGI program which uses the data from the form?

A5 (a) Redefine the

tag to 25 points, italics and Arial font, using cascading style sheets. (b) Give the Java Script code for displaying the string “Kerala” in 5 different sizes.

A6 (a) What is the difference between SSI and CGI? What do you mean by document parsing of shtml files ? (b) Write an XML style sheet to define a new tag which should display text in Garamond, 24 point, italics in gray color.

A7 (a) Give the VRML code to display a green, 3D, sphere image in a VRML enabled browser. (b) Give the HTML code for embedding an applet flash.class which needs the value of parameter flashtext to be specified (use the word “Welcome” as the value).

Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.

This section should be designed to test the application skill of the student in a standard situation

B1 (a) Write a Java Script program accept the value of a and b then display a table of conversion from Celsius to Fahrenheit. The value of Celsius from range a to b will be show in the table. (b) Explain how a form is processed by a CGI program, with an example

B2 (a) Explain briefly the Document Object Model. (b) Discuss and compare Static, Dynamic and Active web documents.

B3. (a) What are the core elements of DHTML ? List three typical special effects possible with DHTML, with an example for any one. (b) Explain the Java servelet life cycle with an example.



Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.

C1. (a) Assume that a CGI program stores a file with name and passwords of registered users of a web site. When a user visits a web site, the Login page is displayed (with user id and password field and submit button). When the user logs in, if the user name and password are correct then a welcome page is shown. If the user id is known but the password is wrong then a page will be shown prompting the user to re-enter password. If both user id and password are wrong, a page will be shown with message “Access Denied”. Give the CGI program and also the HTML code for login.html, p2.html and p3.html. The login html page should also show the time in the server system clock. Your page should also initially detect the client browser and alert the user if browser is Microsoft Internet Explorer. (b) Justify why you used post/get method in the above example.





BSC 503 Computer Graphics

1. AIMS:

To introduce basic theoretical underpinnings and concepts behind computer graphics and expose student to algorithms, tools and techniques for implementing the same.



2. OBJECTIVES:

On completion of this course, students should be able to:

• handle basic graphic primitives in C/C++ for developing 2D and 3D graphics

• program basic scan-conversion algorithms

• apply various transformations to 2D and 3D graphic objects

• derive various projections of 3D objects

• give realistic rendering to 3D wireframe objects

• be familiar with current trends in computer graphics

3. SYLLABUS

Module –I: Display technologies – CRTs, Color Monitors, Flat panel displays, VRAM, VGA/SVGA resolutions, Hard copy devices, Input Devices: Digitising tablets, Mouse, data glove, light pen, Touch panels, Image scanners. Review of mathematics for computer graphics: co-ordinate geometry, equations, of line, circle and their parametric forms, intersections, matrices: multiplication, transpose and inverse.

Module-II: Drawing algorithms: Line: DDA and Bresenham algorithms, Circle: Bresenham algorithm, Ellipse, Curvedrawing: parametric representation, Bezier and B-splines, 2D transformations: translation, scaling, rotation, shearing, reflection, composite transformation, inverse transformations. Zooming and panning, rubber band lines and dragging, Clipping: Window & Viewport, Sutherland line clipping algorithm. Filling algorithms

Module –III: 3D Graphics: Creating 3D effect on 2D screens, Wireframe models – representation using vertex and edge lists, projections: Orthographic and perspective, 3D Transformations: translation, scaling, rotation, shearing, reflection, composite transformation, inverse transformations. Hidden surface removal: image space and object space categorization, computing surface normals, Back face removal method, Z-buffer method,

Module IV: Illumination and Shading: Principles of illumination, Shading: Lambert’s method, Gourad and Phong shading, Tweening, Morphing, Warping

Module –V (Flexi): Graphics in Linux, Font geometry: representation of fonts, bitmapped and vector. Introduction to Graphic Standards, Open GL and GKS, Virtual Reality Mark-up Language.



4. REFERENCES

4.1 Core References

D P Mukherjee, Fundamentals of Computer Graphics and Multimedia, PHI, ISBN 81-203-1446-8, Rs 125/-

Peter Cooley, The Essence of Computer Graphics, Pearson Education, ISBN 81-297-0681-4, Rs 125/-

4.2 Additional References:

Donald Hearn, M. Pauline Baker, Computer Graphics (C Version) 2/e, Pearson, ISBN 81-7808-794-4, Rs 425/-

James Foley, Andries van Dam, Steven Feiner and John Hughes, Computer Graphics Principles and Practice, 2/e Pearson Education, ISBN 81-7808-038-9, Rs 450/-

Mark Giambruno, 3D Graphics and Animation, 2/e, Pearson Education, ISBN 8-1780—8860-6, Rs 395/-

4.3 Internet resources:

www.prenhall.com/hearn

www.prenhall.com/bookbind/pubbooks/hill4

www.povray.org ray tracing and 3D morphing

www.cs.unc.edu/~pxpl/home.html

www.cs.utexas.edu/users/naylor/courses/Graphics.ppt

www.cs.brown.edu/courses/cs123/lectures.shtml : A collection of presentations on all topics

http://visservices.npaci.edu/courses/maya/History-of-graphics.ppt : history of computer graphics

www.thefreesite.com/Free_Software/Graphics_freeware/: free graphics software.

5. NOTE ON CURRICULAR TRANSACTIONS:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 30% weightage

• 1 test paper- 40% weightage

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions (10-20) should be of objective type and should contain both analysis and synthesis opportunities. Some sample questions are given below:

Model Questions for Quiz:

1. The surface normal of a face at vertex (0,0) is computed as 0i+0j+100k. If this surface is viewed from point (0,0,-100), will it be visible ?

2. If the point (20,20,20) is rotated wrt point (0,0) by 45 degrees, the coordinates will be _________

3. A line has end points (10,15,30) and (20,30,60). The orthographic projection on the YZ plane will have end points (__,____) and (___,___)).

4. Which of the following projections have greatest realism? (a) orthographic (b) perspective (c) both

6.2 Sample Assignments: Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Some suggested tasks are as follows:

1. Visit a Computer Graphics firm and make a note of various computers and peripheral Hardwares used by them (specs and special features).

2. *Enclosed is a list of all Borland C++ Graphic Library Functions. Study them through small C++ programs which demonstrate their usage and document these.

3. Implement the Bresenham algorithm for line and circles.

4. Develop an object oriented interactive program which permits to user to define a polygon figure interactively and then permits the user to specify a sequence of transformations, one by one, displaying the resulting figure each time.

5. Develop an object oriented program which will read from a specified text file the list of vertices and edges of a three dimensional object (in a format to be decided by you), them permits the user to specify (i) a projection system and (ii) a sequence of transformations, one by one, displaying the resulting figure each time.

6. Write a program to display a wireframe model of a cuble and then remove the hidden surface and display the model, from a view point is specified by the user.

7. Modify the above program to implement a selected shading method.

8. Download VRML plugin for your browser and also download a vrml file and view it in the browser and report your experience.

9. * Find out how a new font is created and report your experimentation and findings.



6.3 Test Paper

This could be modeled after the question paper for the End-sem assessment, but of maximum 2 hours with section C avoided.

6.3 End-sem Assessment

The model questions below is incomplete and only indicate the type of questions and do not cover all topics.

Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30

This section should give an opportunity for the student to demonstrate his/her knowledgeA1. What is the difference between contrast and brightness ?

A2. Derive 2-D Transformation Matrix for rotation wrt orgin

A3. What is meant by vertex normal in Gouraud Shading algorithm ? Does it have any physical significance ?

A4. Consider a point P(10,10). What are the coordinates of the point if it is rotated wrt (5,5) and then scaled in the X-axis direction by a factor of 2

A5. In a 3-D wire-frame model, given a view point, explain how the visibility of a surface is computed.

A6. Differentiate between ambient reflection, diffuse reflection and specular refelection. Which is usually the least prominent ?

A7. What are the difference between image space and object space methods for hiiden surface removal ?

A8. A 3D- wire frame model can be produced by rotating a 2-D polygon. What are the limitations of this method ?

Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.

This section should be designed to test the application skill of the student in a standard situation

B1(a) Explain an algorithm for plotting a circle with centre (a,b) and radius R. Comment on the computational efficiency of the algorithm and suggest methods of improvement.

(b) A cube is positioned in the positive quadrant of the X-Y-Z space, with one of its vertices at the origin and the faces which meet at the origin positioned in the XY, YZ and XY planes. Its edges are of length 20 units. Calculate the brightness of any visible face by both Gourad and Phong shading and comment on the comparison.

B2 (a) For the cube of problem B1(b), plot the orthographic projection of the cube on the Z-Y plane after rotating it by 30˚wrt X-axis and removing the hidden faces when viewed from (50,50,50).

(b) What are b-splines ?

B3 (a) Derive the perspective projection transformation matrix with view point on the –Z axis.

(b) A line A(9,9)-B(15,15) is to be morphed into a rectangle with vertices (10,0), (16,0) (10,3), (16,3). Propose a method for this and apply the method to produce two tween images.

B4. (a) Discuss the organization of VRAM in 8086 processors and as to how it can be directly manipulated.

(b) Explain the computational advantage of Bresenham algorithm over DDA for line drawing



Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.



C1 (a) Given aside is a plan view of a regular tetrahedron of edge length 10 units. Its base is in the xz-plane and the top points to the y-axis. Sketch the object as it will appear after the vertices are transformed by the transformation matrix [T ]= [ 1 0 0 0; 0 0 1 1; 0 -1 0 0; 0 0 0 1] rows separated by ‘;’ . Propose a shear matrix which would reposition the top vertex by some amount, but leave the base unchanged







BSC 504A Artificial Intelligence (Elective)

1. AIMS:

To expose students to basic concepts and tools of Artificial Intelligence and create awareness about its applications, both current and futuristic

2. OBJECTIVES:

• To introduce the notion of machine intelligence

• To introduce the symbolic processing paradigm of AI and algorithms for state space search

• To introduce the knowledge representation formalism

• To introduce basics concepts and challenges of Robotics

• To introduce basics concepts and challenges of Speech and Language Processing

• To introduce basics concepts and challenges of expert systems

• To give basic introduction to some of the tools/languages used in AI field

3. SYLLABUS

Module–I: Introduction to AI: Intelligence & AI: Turings Test, branches of AI, AI and search process: Combinatorial explosion, branching factor, forward and backward reasoning, need for heuristics, search methods: Random, Depth-first, Breadth-first, Best First, Hill-climbing, A* and AO* algorithms – demonstration on 8-tile puzzle/cannibals on the boat problem; Game Playing: Min-Max and modified Min-Max, alpha-beta pruning.

Module–II: Knowledge Representation & Reasoning: Logic: Propositional Logic, Synatx & Sematics, Normal forms in prepositional logic; Predicate Logic: Normal forms in predicate logic; Resolution: Herbrand’s Theorm, Resolution in predicate calculus, Theorem Proving; Knowledge Representation Techniques: Procedural vs Declarative Representation; Semantic Nets, Frames, Scripts, Conceptual Dependency. Reasoning: Non-monotonic, Probablistic, Certainity and Fuzzy based reasoning Systems.

Module–III : Speech, language and vision Processing: Human Speech: basic mechanism, phones, phone classification; Speech Processing: spectrum and spectrograms, speech coding, speech recognition, speech synthesis; applications; Natural Language Processing: Lexical, Syntactic, Semantic, Pragmatic and Discourse processing; ambiguity in natural languages, General introduction to parsing techniques; Features of Standard Tools; Applications. Computer Vision: Image acquisition, processing, analysis, understanding; Applications

Module–IV: Expert Systems: Architectures; Knowledge Bases and Inference Engines; Case stdy of MYCIN and DENDRAL; Applications; Robots, software agents.

Module–V: Miscallaneous Topics: Generic Introduction to LISP and Prolog; Critic of Artificial Intelligence; Neural Network Models; Genetic Algorithms; Molecular Computers; Future of AI.



4. REFERENCES

4.1 Core References

Ben Coppin, Artificial Intelligence Illuminated, Narosa, ISBN 81-7319-671-0, Rs 295/-

V S Janakiraman, K Sarukesi, P Gopalakrishnan, Foundations of Artificial Intelligence, Macmillan, India, ISBN 033392 625 0 [Rs 157]

4.2 Additional References

Alison Cawsey, Essence of Artificial Intelligence, Prentice Hall, ISBN: 01-3571-7795, Price: 12.95 UKP.

Dan W. Patterson, Introduction to Artificial Intelligence and Expert Systems, Prentice Hall of India ISBN 81-203-0777-1; [Rs 150]

Ben Gold, Nelson Morgan, Speech and Audio Signal Processing, John Wiley & Sons, ISBN 9-814-12655-1; $7.50

Roger Penrose, The Emperor’s New Mind.

4.3 Internet resources:

www.aaai.org : American Association of Artificial Intelligence, //ai-depot.com: tutorials, demonstrations, www.aist.go.jp/NIBH/~b0616/Lab/links, neuron.eng.wayne.edu/software.html, www.fuzzy.logic.com, www.austinlinks. com/ Fuzzy, http://www.franz.com/: Lisp programs, A site for AI only, looks informative with tutorials & demonstrations.

5. NOTE ON CURRICULAR TRANSACTIONS:

Internet contains a large repository of programs on AI which should be downloaded and demonstrated to the students. These include speech recognition and synthesis programs, character recognition programs, expert systems, language processing programs etc. Student seminars may be assigned, but only after the lecturer covers the basic topics.

6. NOTE ON ASSESSMENT:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 30% weightage

• 1 test paper- 40% weightage

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions (10-20) should be of objective type and should contain both analysis and synthesis opportunities. 6.2



Sample Assignments: Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Some suggested tasks are as follows (does not cover all topics, only indicate type of questions):

1. Either from the Internet/from local organizations (eg C-DAC), study speech processing and language processing softwares and expert systems and prepare a report on their features.

2. Create a search tree for the 8 tile-puzzle for 5 levels and then demonstrate the application of various search algorithms on them. For heuristic search, define a heuristic and justify the same. Finally make a comparison of all methods based on your experiments

3. In any programming language (preferably LISP), develop a program that will accept English text and type out an appropriate response in english, based on a key-word scanning. Standard reponse data base should be created and used ones removed as dialogue progresses. In case of no keywords in input sentence, appropriate general response (like go on, make yourself more clear etc) should be used. Build in a facility to save all dialogue sessions. Continuously improve the data base. Comment on crativity and versatility of natural language based on your experiments.

4. For a problem like automobile fault detection, generate IF then rules which can be used by an expert System.

5. * Simulation programs on fuzzy systems are available at the following sites. Visit these sites and select at least 2 simulations for each category, experiment with them and document their use completely. Also report what you learned from the experimentations:

a. www.answermath.com/fuzzy-laboratory.htm

b. www.aist.go.jp/NIBH/~b0616/Lab/links

c. www.fuzzy.logic.com

6. Compile a table of comparison of the human brain and the central processing unit of the computer. Include as many parameters of comparison as you can, giving brief notes on each.

7. * Download FUDGE (Fuzzy Logic Development & Generation Environment from SanDiego Super Computer Site, study and its use and document your experimentations

8. Design a decision making problem on your own, define fuzzy inputs and fuzzy rules for the decision making. For a variety of cases demonstrate decision making through defuzzification and contrast with corresponding crisp reasoning

6.3 Test Paper

This could be modeled after the question paper for the End-sem assessment, but of maximum 2 hours with section C avoided.

6.3 End-sem Assessment

The model questions below is incomplete and only indicate the type of questions and do not cover all topics.

Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30

This section should give an opportunity for the student to demonstrate his/her knowledge

A1. For the following tree (nodes marked A, B, C …) list the order in which the nodes will be visited for (a) breadth-first search and (ii) depth-first search

A2. Compare forward and backward reasoning

A3. For the 8-tile puzzle, define a heuristic function and justify how it could cut down search time.

A4. How can alpha-beta pruning improve search in game trees

A5. Write the following in predicate calculus notation: (i) all men are mortal, (ii) For every man, there is some woman who is love with him.

A6. Write examples of English sentances which are (i)syntactically incorrect (ii) semantically ambiguous (iii) pragmatically ambiguous (iv)unresolved in a discourse

Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.

This section should be designed to test the application skill of the student in a standard situation

B1 (a) For the 8-tile puzzle, for the following start and end positions, draw the state tree for 3 levels and discuss the application of breadth first and depth first searches:

Start: 2-3-4 End 1-2-3

8-7-9 4-5-6

5-6 7-8

(b) How are games different from traditional search problems ?



B2(a) When is backward chaining preferred over forward chaining ?

B2(b) List the distinguishing characteristsics of problems in AI. Explain any one of them

B2(c) Put the following axiom in clause form

Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.



C1. It is required to develop an expert system to assist customers in buying a PC. It will utilize the customer requirements and budgetary limits to make suggessions to the customer. You may make necessary assumptions about domain knowledge. List a sample set of 6 rules and discuss the process of drawing out production rules, how they will be used in inference and how the system can be improved.



NOTE: At least two electives shall be offered every year and students shall have full freedom in selecting their elective. However, if the number of students opting for an elective is less than 5, the faculty may decide to not run the course and transfer students to the other elective (or electives of their choice).


BSC 504B Mobile Technologies (Elective)

1. AIMS:

• To introduce wireless application protocol technology and applications

2. OBJECTIVES:

• To introduce WAP

• To introduce technology of mobile phones and pocket computers

• To introduce applications of WAP

• To impart skills in WML and SDK

3. SYLLABUS

Module-I: Basic concepts of WAP, WAP Client, WAP browser, working of WAP application, basic advantages, various applications, WAP Project elements

Module-II: The WML language - character set, variable types, cards elements, attributes, entities, WML variables and contexts, tasks and events, WML user interaction, WML timers, Decks, templates, cards, Text and image formatting. handling audio.

Module-III: WML Script Language: Character set, data types, identifiers, functions and events, operators, expressions, program control, standard libraries, browser library

Module –IV: WAP application development with WML and WMLScript, a calculator and a game development. SDK for WAP development.

Module-V: Emerging topics in mobile communications – technology convergence in mobile phones- GSM standard telephones, WAP Gateway

4. REFERENCES

4.1 Core References

Martin Frost, Learning WML and WMLScript, O’Reilly, ISBN-81-7366-317-3, Rs 125

4.2 Additional References

S. Ruseyev, WAP Technology and Applications, Eswar Press, ISBN 81-7874-005-2, Rs 295

4.3 Internet resources:

www.bitpipe.com Free White Papers and Reports on Wireless & Mobile Computing.

http://www.managingchange.com/mediums/mobile/overview.htm

www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/vk5/report.html: Mobile computing

www.doc.ic.ac.uk/~nd/surprise_96/journal/vol1/vk5/article1.html

www.cs.berkeley.edu/~randy/Courses/CS294.S96/MobiComp.pdf

http://net.pku.edu.cn/mobile/L1-introuction.ppt

www.phone.com for downloading SDK

www.nokia.com

5. NOTE ON CURRICULAR TRANSACTIONS:

Free Simulators are available for experimenting WML and WML Script programs. Student seminars may be given for module 5.

6. NOTE ON ASSESSMENT:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 30% weightage

• 1 test paper- 40% weightage

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions (10-20) should be of objective type and should contain both analysis and synthesis opportunities.

6.2 Assignments: Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Tasks like simple English dictionary through mobile phone, fashing a mobile image gallery etc may be included in the tasks.

6.3 Test Paper

This could be modeled after the question paper for the Final assessment, but of maximum 2 hours and without Section C

6.4 End-semester assessment

Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30

This section should give an opportunity for the student to demonstrate his/her knowledge

Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.

This section should be designed to test the application skill of the student in a standard situation

Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.



NOTE: At least two electives shall be offered every year and students shall have full freedom in selecting their elective. However, if the number of students opting for an elective is less than 5, the faculty may decide to not run the course and transfer students to the other elective (or electives of their choice).
BSC 504C Embedded Systems (Elective)

1. AIMS:

• To expose students to basic concepts of embedded systems along with its hardware and software underpinnings.

2. OBJECTIVES:

• To introduce embedded systems architecture

• To introduce embedded operating systems

• To introduce embedded system software development using C

• To introduce various applications of embedded systems

3. SYLLABUS

Module –I: Introduction to Embedded Systems, Stand-alone and real-time embedded systems, network appliances and mobile devices, Requirements of embedded systems, Embedded processors, memory, OS, programming languages and tools

Module-II: Hardware Architecture for embedded systems: Processors, micro-controller, microprocessor, DSP processor, memory, ADC and DAC, Display units and keypads, communication interfaces

Module III: Embedded systems development: EPROM programmer and eraser, Embedded system development process, software development environments.

Module-IV: Embedded OS: Windows XP and open source OSs, Real-time OSs: RTLInux and eCOS, Mobile OSs, Programming in C and assembly for embedded systems. Emulators

Module V: Applications of embedded systems: hand-held devices, consumer electronics, control systems, biomedical systems, data communication. Recent developments, System on a chip, Smart cards.

4. REFERENCES

4.1 Core References

Dreamtech Software Team, Programming for embedded systems, Wiley Dreamtech India, ISBN 81-265-0296-7, Rs 399/-

4.2 Additional References

Daniel W Lewis, Fundamentals of embedded software, Pearson Education, ISBN 81-7808-604-2, Rs 150/-

4.3 Internet resources:

www.vissim.com simulation and embedded system design software (free)

5. NOTE ON ASSESSMENT:

The continuous assessment for this course will be based on the following components:

• 3 quizzes (best of 5 will be chosen) – with 10% weightage each

• 1 assignment – with 30% weightage

• 1 test paper- 40% weightage

6.1 Quiz

Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities.

6.2 Assignment

Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.

6.3 Test Paper

This could be modeled after the question paper for the Final assessment, but of maximum 2 hours and without section C.

6.4 End-semester assessment

Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30

This section should give an opportunity for the student to demonstrate his/her knowledge

Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.

This section should be designed to test the application skill of the student in a standard situation

Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.

NOTE: At least two electives shall be offered every year and students shall have full freedom in selecting their elective. However, if the number of students opting for an elective is less than 5, the faculty may decide to not run the course and transfer students to the other elective (or electives of their choice)
BSC 505 Social & Environmental Awareness

1. AIMS:

To create better social and environmental awareness among students



2. OBJECTIVES:

On completion this course, student should:

• Have better awareness and concern about current social issues

• Develop a healthy respect and sensitivity to environment

• Develop pride in social and environmental activism.

3. SYLLABUS

This course addresses the concern that students who learn hi-tech subject like Computer Science move away from the ground realties of the society and from issues of common concern to the society. The activities under this course need not necessarily be related to Information Technology but it can also be designed in such a way as to be related to IT. The course will involve activities which will go towards achievement of objectives of the course. The following are the suggested topics and activities which are only indicative of the possibilities:

Topics:



Poverty Eradication

Gender Discrimination

Caste Discrimination

Corruption

Female foeticide

Violence and sex on media

Digital divide

Plastic wastes

Noise pollution

Drug abuse

Alchoholism

Communalism

Pesticides

Water conservation

Cultural Neutralisation

Child workers

Mediocrity

Problems of the aged

Militant trade unionism

School dropouts

AIDS

Life style diseases

Unemployment

Internet addiction



Activities:

(a) Group work:

• Organising class seminars in which students make presentations on social and environmental issues

• Organising institutional level seminars inviting external experts

• Organising poster campaigns on selected issues

• Organising exhibitions on selected issues

• Organising mass petitions

• Planting trees

• Ensuring that the campus is plastic-free/drug free

(b) Individual activity

• Interviewing experts/concerned and documenting the same

• Writing articles in news papers/magazines on selected issues

• Visiting sites to report on problems/solutions

• Preparing and distributing leaflets, emailing thought provoking animations

4. Readings

Lester R Brown, Plan B: rescuing a Planet under stress and a civilization in trouble, Orient Longman, ISBN 81-250-2691-6, Rs 330/-

Kurien Joseph & R Nagendran, Essentials of Environmental Studies, Pearson ISBN 81-297-0489-6, Rs 225/-

5. Internet Resources

http://www.cseindia.org - Environment

http://www.panda.org - Wildlife Conservation Site

http://www.downtoearth.org/

http://www.earth-policy.org/

http://www.earthsummitwatch.org/

http://www.foodfirst.org/

http://ecosys.drdr.virginia.edu/ - WWW Virtual Library: Environment

http://www.digitaldivide.org/ - DigitalDivide

http://www.cpsr.org/home - CPSR: Computer Professionals for Social Responsibility

http://www.awc-hq.org/ - The Association for Women in Computing

6. NOTE ON CURRICULAR TRANSACTIONS:

This course should be run with the same gravity as the technical ones. The pride and prestige in students will emerge only when the teachers project this course with the seriousness it deserves. Teachers should not assume that they are knowledgeable in all the above topics. It is suggested that they join the students as a team in the above activities. For group work, students should not be handpicked by teachers, but always should be selected by drawing lots. It may also be noted that inclusion of some of the above topics comply with instructions of the Hon. Courts of India and also incorporate suggessions of Ministry of Health and Family Welfare, Govt. of India

7. NOTE ON ASSESSMENT:

The assessment for this course will be completely internal. There shall be three assessment components. A set of at least 2 different activities shall be chosen as two assessment components, of which one should be an individual activity. For group activities, there shall be equal weightage for enthusiastic involvement and performance. As the third assessment component, each student shall submit a report (not less than 10 pages) in which they will document in their own words reflections about at least 3 issues other than the ones they took up.
BSC 506. Web Technology Lab

1. AIMS:

• To give hands-on exposure to various tools and languages required for technical and creative design of web sites

2. OBJECTIVES:

To practice moderately complex use of the following scripts/languages/technologies:

• HTML, DHTML, CSS,

• Javascript,

• CGI Script, Perl,

• ASP and JSP.

3. SYLLABUS

The laboratory work will consist of 15-20 experiments

1. Practicing basic HTML tags, text tags test syles, paragraph styles, headings, lists

2. Tables in HTML, Frames in HTML, nested frames, Link and Anchor Tags

3. Including graphics, video and sound in web pages, including Java applets

4. Layers & Image Maps

5. Creating animated Gifs, simple flash animations

6. Cascading Style sheets

7. DHTML

8. Creating and browsing XML database

9. Installing VRML plugins and viewing VRML source files

10. HTML forms and Fields

11. Exercises covering basic introduction to perl

12. Installing web server, setting CGI, connecting HTML forms to Perl Scripts (CGI programming)

13. Exercises covering basic introduction to Javascript

14. Exercises covering basic introduction to Java Servelets

15. Exercise involving JDBC

16-20: Development of a web site involving a variety of tools practiced above



4. REFERENCES

4.1 Core References

• V.K. Jain, Advanced Programming in Web Design, Cyber Tech Publications, ISBN 81-7884-019-VII [Rs 360/-]

4.2 Additional References

• H M Deitel, P J Deitel & A B Goldberg, Internet and Worldwide web programming: How to Program, 3/e, Pearson Education, ISBN 81-297-0408-0, Rs 495/-

5. NOTES ON CURRICULAR TRANSACTIONS:

Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a syntactic/semantic modification in the program and then test it out and discuss the result. Students shall be supplied with handouts for each experiment specifying the aims and objectives of the experiment, specific tasks to be done, and questions to be answered. A few samples are given below:

1. HTML Sample
<><><><><><><><><><><><><> <><><><><><><><><><><><><> <><><><><><><><><><><><><> <><><><><><><><><><><><><>
Country
Capital
Iran
Tehran
China
Beijing




Note:

i. replace
<><><><><><><><><><><><><>with
<><><><><><><><><><><><><> ii. replace 2 with 5, 10, 50 and 100 iii. Add this <><><><><><><><><><><><><>to the above program and re run iv. replace all td to th only in the following line of the above program <><><><><><><><><><><><><> Comments:……………………………………………………………………………………. 2. Javascript sampleName Age Observations:……………………………………………………………………………. Note: Replace with Observations:……………………………………………………………………………. Note: Replace onMouseOver with onSelect and try selecting text inside the field Observations:……………………………………………………………………………. Note: Replace on onSelect with onFocus and try clicking inside the fields, one by one Observations:……………………………………………………………………………. Note: Replace on onFocus with onBlur and try clicking inside the fields, one by one Observations:……………………………………………………………………………. Note: Replace on onBlur with onChange and try typing inside the field Observations:……………………………………………………………………………. Note: Replace f1() with window.close( ) Observations:……………………………………………………………………………. 3. CSS Type the following program and try the suggested changes to study FONT/TEXT definitions.

Good Morning

Welcome

Notes: In the above file, replace color:red with the following and note your observations: (a) font-size: 70pt (try also in (inches), cm (centimeters) or %(percentage)) Observations:………………………………………………………………………………………. (b) font-style: italic Observations:………………………………………………………………………………………. (c) font-family:arial Observations:………………………………………………………………………………………. (d) text-align:center (try also left, right) Observations:………………………………………………………………………………………. (e) text-indent: 1in (try also cm, px (pixels) in place of in (inches)) Observations:………………………………………………………………………………………. (f) letter-spacing: 2pt (try also cm, px (pixels) and pt (points)) Observations:………………………………………………………………………………………. (g) word-spacing:2pt Observations:………………………………………………………………………………………. (h) text-transform: uppercase (try also capitalize and lowercase) Observations:………………………………………………………………………………………. 4. Perl Here is a program that prints words from an array which match a pattern. You can modify this easily to read from a text file (You may also convert it into a counting program which will count the instances of all words matching a particular pattern). All the examples given below may be tried out by modifying this program: #!/usr/local/bin/perl @a=( 'abc123', 'a', 'aa', 'aaa', 'aaab', 'arabia', ‘1964’, 'the truth', ‘specialise’); foreach $i (@a) { if ($i =~ /a/) {print "$i\n"} } Observations…………………………………………………………………………….. Try the following patterns. Try to predict output before running the program: Pattern Matching words in @a in program 5 above (Circle) Comments /aa/ 'abc123', 'a', 'aa', 'aaa', 'aaab', 'arabia', ‘1964’, 'the truth', ‘specialise’ /aaa/ 'abc123', 'a', 'aa', 'aaa', 'aaab', 'arabia', ‘1964’, 'the truth', ‘specialise’ /a.a/ 'abc123', 'a', 'aa', 'aaa', 'aaab', 'arabia', ‘1964’, 'the truth', ‘specialise’ /^a/ 'abc123', 'a', 'aa', 'aaa', 'aaab', 'arabia', ‘1964’, 'the truth', ‘specialise’ /^ar/ 'abc123', 'a', 'aa', 'aaa', 'aaab', 'arabia', ‘1964’, 'the truth', ‘specialise’ /a$/ 'abc123', 'a', 'aa', 'aaa', 'aaab', 'arabia', ‘1964’, 'the truth', ‘specialise’ /li[sz]e/ 'abc123', 'a', 'aa', 'aaa', 'aaab', 'arabia', ‘1964’, 'the truth', ‘specialise’ /[a-zA-Z]/ 'abc123', 'a', 'aa', 'aaa', 'aaab', 'arabia', ‘1964’, 'the truth', ‘specialise’ /[a-z]{3}[0-9]{3}/ 'abc123', 'a', 'aa', 'aaa', 'aaab', 'arabia', ‘1964’, 'the truth', ‘specialise’ /[a-z]+/ 'abc123', 'a', 'aa', 'aaa', 'aaab', 'arabia', ‘1964’, 'the truth', ‘specialise’ 6. NOTE ON ASSESSMENT: The In-semester laboratory assessment will be based on the following components: 2.5% for satisfactory conduct of each experiment (maximum 25%) 25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%). 25% for laboratory record, with emphasis on recording of experimentations and justifications of the same. 25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions The End-semester assessment shall be based on the following: 25% for a common Quiz conducted on all the experiments with 10-20 questions 75% for successful conduct of assigned tasks as follows: (A one page-reference on each of HTML, CSS, DHTML, Javascript, Perl etc covering basic syntax, prepared by faculty should be made available for students during the exam so that no memorization of basic syntax is required). 25% for 2 minor programs to demonstrate basic ability to apply tool/script/language. 25% for developing a web page using advanced HTML tags (tables, frames and forms) and involving at least two of the following technologies. Javascript, CSS, DHTML, XML, Perl etc. 10% for successfully debugging a given program/web page 15% for a viva-voce Note: Students should be provided with a set of 3 questions to choose from at random. If they want to change the question, they can do so with a 10% penalty in total marks in each case. Students should be asked to develop algorithm and write a pseudo code on paper before they implement the programs on a computer. If the examiner is convinced that the student does not have knowledge to implement the solution, they may be given required assistance with a with a 5-10% penalty in total marks on a case by case basis. Program output will not be the sole criteria for assessment. Viva and debugging opportunity will be extended to students even if they do not complete programming tasks successfully. In short, every opportunity must be given to the student to express his/her knowledge and skills.
BSC 507. Computer Graphics Lab
1. AIMS: To provide hands-on exposure to tools, techniques and algorithms in computer graphics 2. OBJECTIVES: In this course, students shall: • implement basic scan-conversion algorithms • implement clipping algorithms • implement various transformations to 2D and 3D graphic objects • implement orthographic and perspective projections of 3D objects • create 3D wireframe objects • remove hidden surfaces of wireframe models • implement a shading algorithm on a wireframe object • 3. SYLLABUS The laboratory work will consist of 10-15 experiments (Questions of the type given in core reference 2 , Peter Cooley, are suggested for adoption). 1. Handling VRAM through assembly/C, implementing a plot(x,y,intensity) function 2. Implementing DDA & Bresenham algorithm for line drawing, effecting different line styles 3. Implementing circle drawing algorithms, drawing ellipses and sectors 4. Implementing Windowing and Clipping algorithms 5. Representing 2D object data files (containing vertex and edge lists) and implementing programs which read and plot these objects. 6. Implementing 2D transformations (programs which prompt for type of transformation, parameters and name of object data file and plot object and transformed object in 2 colors) 7. Implementing composite transformations (modification on the above, program prompts for number of transformations, accepts parameters for each and then plots all stages of transformations in different colors 8. Implementing a filling algorithm, reading the object from data file 9. Representing 3D object data files (containing vertex and edge lists) and implementing programs which read and plot the orthographic projections on the specified standard planes.. 10. Program to create wireframe model of a sphere and create a data file from it(containing vertex and edge lists) and plot orthographic projection of it. 11. Implementing 3D transformations (programs which prompt for type of transformation, parameters and name of object data file and plot object and transformed object in 2 colors) 12. Implementing hidden surface removal by surface normal computation: to be tried out on a cube and/or a sphere 13. Implementing shading using Lambert’s method (along with hidden surface removal) by surface normal computation : to be tried out on a cube and/or a sphere 14. 13 Cont’d 15. Program to produce tween between two given line segments 4. REFERENCES D P Mukherjee, Fundamentals of Computer Graphics and Multimedia, Prentice Hall of India, ISBN 81-203-1446-8, Rs 125/- Peter Cooley, The Essence of Computer Graphics, Pearson Education, ISBN 81-297-0681-4, Rs 125/- 5. Notes on Curricular Transactions Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a syntactic/semantic modification in the program and then test it out and discuss the result. Students shall be supplied with handouts for each experiment specifying the aims and objectives of the experiment, specific tasks to be done, and questions to be answered. It is also recommended that in case of 3D graphics, data files and piece of code for reading the files into a suitable data structure may be provided to students for quick start. The language recommended is C/C++, however, for selected experiments other languages may be chosen if the teachers desire so. The assignments of BSC 503 may be permitted to be overlapping with this laboratory work. 6. Assessment The In-semester laboratory assessment will be based on the following components: 2.5% for satisfactory conduct of each experiment (maximum 25%) 25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%). 25% for laboratory record, with emphasis on recording of experimentations and justifications of the same. 25% for a common Quiz for the whole class conducted on a set of at least 4 experiments with 10-20 questions The End-semester assessment shall be based on the following: 25% for a common Quiz conducted on all the experiments with 10-20 questions 75% for successful conduct of assigned tasks as follows: 25% for 2 minor programs to demonstrate basic programming ability (such as completing the given code segment to implement line drawing, rotation etc). 25% for developing and writing a program based on a problem statement involving the use of a given graphic object data file. (As far as possible, questions should be based on incomplete pieces of code given to students with specific methods alone required to be implemented, so that focus is on graphics programming rather than programming from scratch). 10% for successfully debugging a given program 15% for a viva-voce Note: Students should be provided with a set of 3 questions to choose from at random. If they want to change the question, they can do so with a 10% penalty in total marks in each case. Students should be asked to develop algorithm and write a pseudo code on paper before they implement the programs on a computer. If the examiner is convinced that the student does not have knowledge to implement the solution, they may be given required assistance with a with a 5-10% penalty in total marks on a case by case basis. Program output will not be the sole criteria for assessment. Viva and debugging opportunity will be extended to students even if they do not complete programming tasks successfully. In short, every opportunity must be given to the student to express his/her knowledge and skills. semester 6
BSC 601 Professional Studies
1. AIMS: • To impart knowledge required for the student to emerge as computer professional 2. OBJECTIVES: By the end of this course, the student should be: • Having a clear view of what professionalism is • Aware of ethical issues in computing profession • Aware of managing quality • Aware of quality certifications • Having an exposure to Cyber law 3. SYLLABUS Module–I: What is a profession – who is a professional – core qualities of a professional – Environments and their impact and complexity – social attitudes, beliefs and values Module –II: Codes of ethics - solving ethical conflicts, moral reasoning and ethical theories – responsibilities and rights. Computer ethics : ethics and the internet – hacking – netiquette – privacy Module-III: Quality Management. Concept of quality, total quality management, 7 sigma principles, ISO certifications, Component maturity models, CMM Levels. Module-IV Cyberlaw: Intellectual property rights – basic ideas – copyright concepts – copyrights applied to softwares – software licensing – patents in software – Indian copyright law and provisions for software – Indian patent law and provisions for software (as amended in 2004) – various licencing models - arguments against copyrights and patents in software – free softwares – GPL software freedoms– open source softwares Module –V: Flexi Module: Professional societies in Computing: IEEE, ACM, BCSI, CSI, Awards in the field of Computing, NASSCOM, Digital Divide, History of Computerisation in India and Kerala, Preparing for a career 4. REFERENCES 4.1 Core References M Govindarajan, S Natarajan, V S Senthil Kumar, Engineering Ethics, PHI, 81-203-2578-8, Rs 150/- Poornima M. Charantimath, Total Quality Management, Pearson Education, ISBN 81-297-0082-4, Rs 150/- Richard Stallman, Free Software: A Perspective, Prajasakthi Book House, Hyderabad, Rs 60/- Indian Copyright Act and Indian Patent Acts 4.2 Additional References Deborah G Johnson, Computer Ethics, Pearson Education, ISBN81-7808-306-X, Rs 175/- Shailendra Nigam, Total Quality Management, , Excel Books, ISBN 81-7446-419-0, Rs 295/- Charles B Fleddermann, Engineering Ethics, Pearson Education, ISBN 81-297-0273-8, Rs 125/- James S Bowman, et. Al., The Professional Edge, PHI, ISBN – 81-203-2602-4, Rs 150/- NIIT, Building a Portfolio, A career enhancement guide, PHI, ISBN 81-203-2689-X, Rs 250/- Kenneth Kensington, Deepak Kumar, Experience in India : Bridging the Digital Divide, Sage Publishers, ISBN 0-7619-3235-6, Rs 250/- 4.3 Internet resources: www.businessethics.org, www.ibe.org.uk, www.globalethics.org, www.school-for-champions.com/ , www.comp.lancs.ac.uk/computing/resources/IanS/SE7/Presentations/PPT/ch27.ppt www.coba.unr.edu/faculty/rontl/07-Quality-Mgt.ppt http://homepages.stmartin.edu/fac_staff/dstout/MEM650/Ch01%20TQM.ppt www.ieee.org, www.acm.org, www.bcs.org.uk http://www.digitaldivide.org/ - DigitalDivide 5. NOTE ON ASSESSMENT: The continuous assessment for this course will be based on the following components: • 3 quizzes (best of 5 will be chosen) – with 10% weightage each • 1 assignment – with 20% weightage • 1 test paper- 30% weightage 6.1 Quiz Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. 6.2 Assignment Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Some sample tasks are suggested below: 1. Study the code of ethics of any two of the following: IEEE, ACM and CSI and critically compare them. 2. Interview a quality manager in an ISO certified organization and report your observations. 3. Design a Quality system for student counseling in your college, assuming that you are going for ISO9000 certification. 4. Read the licensing conditions of Microsoft Office XP and critically analyse the same. Compare it with GPL. 5. Find out about the Akshaya project of Govt of Kerala (www.akshaya.net, or any other similar project elsewhere) and comment on its potential to bridge the digital divide. 6.3 Test Paper This could be modeled after the question paper for the Final assessment, but of maximum 2 hours with section C avoided. 6.4 End-semester assessment Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30 This section should give an opportunity for the student to demonstrate his/her knowledge Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30. This section should be designed to test the application skill of the student in a standard situation Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.
BSC 602 Multimedia Systems
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1. AIMS: • To introduce students to various multimedia elements along with the theoretical underpinnings and to expose them to integration of these elements. 2. OBJECTIVES: By the end of this course, students should be: • Familiar with features of text, audio, images, video and active contents as multimedia elements • Familiar with representational methods for the above elements • Familiar with the file formats for the above elements • Aware of various application softwares used to process the above elements • Aware of various applications of multimedia 3. SYLLABUS Module–I: Concept of Multimedia, Hypertext, Hypermedia, History of multimedia, Multimedia hardware: CD-ROM, DVD, Microphone, Speakers, Soundcards, Video Camera, MIDI, Applications of multimedia in entertainment, education, health etc. Module–II: Graphic and image data representation, spatial and temporal resolution of images, grey level and color images, simple image processing (quantization, negatives, filtering – low and hi-pass, edge detection, contrast enhancement), animations, image data compression, image file formats Module–III : analog and digital video, frame rates, sync, resolution, color video formats- NTSC, PAV and SECAM, analog video artifacts, video equipments, digital video compression Module–IV: Speech processing – digitization of speech, characteristics of speech, noise, representation of speech, audio filtering, audio compression – MP3 and OGG, synthetic sounds - MIDI Module–V: Multimedia on the mobile platform, Multi-media networks, Streaming media, quality of service, Introduction to Macromedia Flash, Multimedia on Linux, Multimedia on the web. Virtual Reality systems 4. REFERENCES 4.1 Core References Ralf Steinmetz, Klara Nahrstedt, Multimedia Fundamentals Vol I, Pearson Education, ISBN 81-297-0479-x, Rs 160/- 4.2 Additional References Judith Jeffcoate, Multimedia in Practice: Technology & Applications, PHI D P Mukherjee, Fundamentals of Computer Graphics and Multimedia, Prentice Hall of India, ISBN 81-203-1446-8, Rs 125/- 4.3 Internet resources: http://www.school-for-champions.com/flash.htm : Study material for flash. http://lorien.ncl.ac.uk/ming/resources/cal/mmedia.htm: A collection of multimedia tools, and links. http://www.macromedia.com/devnet/mx/coldfusion/articles/rd_cf.html: Trial versions, and tutorials http://macromedia.com : Free downloads, seminars, developer centre etc. 5. NOTE ON CURRICULAR TRANSACTIONS: Even though parallel lab course is not provided, this course should involve hands-on practice and/or demonstrations of various techniques in the syllabus. For areas where colleges typically do not have facilities, visits should be organized to digital audio and vide studios and animation studios. Every students should be asked to do at least 5 very simple animations in Macromedia Flash. 6. NOTE ON ASSESSMENT: The continuous assessment for this course will be based on the following components: • 3 quizzes (best of 5 will be chosen) – with 10% weightage each • 1 assignment – with 20% weightage • 1 test paper- 30% weightage 6.1 Quiz Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. 6.2 Assignment Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Some sample tasks for assignment are given below: 1. Record your speech under noisy condition on a PC and study the waveform. Vary the recording parameters provided in the recording software and report on the differences. Filter the speech to reduce noise. Save the speech file as wav, au, mp3 and ogg and comment on size and performance. 2. Using a web cam, record a video clip and repeat experiments as in Q. 1 3. Develop one simple web page each embedding the following: a. image, b:animated gif, c. audio clip, d. video clip, e. flash animation 4. Scan a high resolution image and do various filtering and other effects on the image as provided in popular image editing softwares and report on the features. Also write a program in any programming language to directly open an image file and read the contents and then filter the image and display the results (the .256 format used for academic purposes may also be used hereto begin with– this has no header). 4. Develop a flash animation which will display the newton’s disk and on click of a button will show the disk rotating. 6.3 Test Paper This could be modeled after the question paper for the Final assessment, but of maximum 2 hours with section C avoided. 6.4 End-semester assessment Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30 This section should give an opportunity for the student to demonstrate his/her knowledge Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30. This section should be designed to test the application skill of the student in a standard situation Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.
BSC 603 Business Informatics & E-commerce
1. AIMS: To create an awareness about role of IT in business and to introduce concepts and techniques of e-ommerce 2. OBJECTIVES: By the end of this course, the student should: • Have an awareness about role of IT in business • Have knowledge of basic concepts of e-commerce • Be aware of different types of e-commerce web sites and different modes of payments • Be aware of security and legal issues in e-commerce 3. SYLLABUS Module–I: IT and business, various applications of IT in business field Module–II: History of e-commerce, definition, classification- B2B, B2C, C2C, G2C, B2G sites, e-commerce in education, financial, auction, news, entertainment sectors, Doing eCommerce. Module–III : Electronic payment systems – credit cards, debit cards, smart cards, e-credit accounts, e-money, security concerns in e commerce, authenticity, privacy, integrity, non-repudiation, encryption, secret key cryptography, public key cryptography, SET, SSL, digital signatures, firewalls Module–IV: Marketing on the web, marketing strategies, creating web presence, advertising, customer service and support, web branding strategies, web selling models Module–V: M-commerce; case study of two internationally successful e-commerce web sites and two Kerala-based e-commerce web sites; IT act (India) and e-commerce. 4. REFERENCES 4.1 Core References NIIT, Basics of Ecommerce, PHI, ISBN 81-203-2432-3, Rs 195/- Erfan Turban et. al., Electronic Commerce–A Managerial Perspective, Pearson Education, ISBN 81-780-8362-0, Rs 250/- 4.2 Additional References R Kalokota, Andrew V. Winston, Electronic Commerce – a Manger’s guide, Pearson Education, ISBN 81-780-8158-X, Rs 295/- 4.3 Internet resources: www.ecommercetimes.com, www.online-commerce.com, www.rsa.com, www.ntsecurity.com www.school-for-champions.com/ecommerce.htm, www.easystorecreator.com/ecommerce-tutorial.asp, www.website101.com/shopping_ecommerce/open-source-ecommerce.html : Open Source Ecommerce, http://wordpress.org/articles/home-business--ecommerce-tutorial.htm, http://lsirpeople.epfl.ch/despotovic/CEC2004-Tutorial.pdf 5. NOTE ON ASSESSMENT: The continuous assessment for this course will be based on the following components: • 3 quizzes (best of 5 will be chosen) – with 10% weightage each • 1 assignment – with 20% weightage • 1 test paper- 30% weightage 6.1 Quiz Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. 6.2 Assignment Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Some example tasks for assignment are suggested below: 1. Identify one e-commerce site that is profitable and one that is novel and critically analyse both in terms of design, technology used, marketing strategy, security, user friendliness etc. 2. Propose a web site design which could be suitable for international marketing of bamboo products from Kerala. Highlight the features of it which you think will make it a success. 3. Study and summarise the provisions in the Indian IT act that are relevant to digital signatures and comment on them. 4. Prepare a list of goods and services that you think will be good candidates for e-commerce in India. 6.4 End-semester assessment Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30 This section should give an opportunity for the student to demonstrate his/her knowledge Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30. This section should be designed to test the application skill of the student in a standard situation Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.
BSC 604 Major Project & Viva
1. AIM: • To expose student to industry-standard project practices, through a real-life project work under time and deliverable constraints, applying the knowledge acquired through various courses. 2. OBJECTIVES: • To provide an opportunity to apply the knowledge gained through various courses in solving a real life problem • To provide an opportunity to practice different phases of software/system development life cycle • To introduce the student to a professional environment and/or style typical of a global IT industry • To provide an opportunity for structured team work and project management • To provide an opportunity for effective, real-life, technical documentation • To provide an opportunity to practice time, resource and person management. 3. PROJECT GUIDELINES The minimal phases for the project are: Project search, finalization and allocation, Investigation of system requirements, Data and Process Modeling, System Design, Program design, Program coding and unit testing, System integration, System implementation and acceptance testing. 3.1 Planning the Project: The BSc(Computer Science) Major Project is an involved exercise which has to be planned well in advance. The topic should be chosen in Semester 4 itself and the case study of Course BSC401 should as far as possible, be based on the project topic, though on exceptional cases, for valid reasons, the project guide may waive this condition. Related reading, training and discussions should start from semester 4 itself. 3.2 Selection of project work: Project work could be of 3 types: a)Developing solution for a real-life problem : In this case , a requirement for developing a computer based solution already exists and the different stages of system development life cycle is to be implemented successfully. Examples are Accounting Software Package for a particular organization, Computerisation of administrative functions of an organization, Web Based Commerce, etc. The scope for creativity and exploration in such projects is limited, but if done meticulously, valuable experience in the industrial context can be gained. (b) Innovative Product development: These are projects where a clear-cut requirement for developing a computer based solution may not be existing, but a possible utility for the same is conceived by the proposer. An example is a Malayalam Language Editor with Spell Checker, Computer Music Software for Indian Music, Heat Engines Simulation Software for eLearning, Digital Water Marking Software, (c) Research level project: These are projects which involve research and development and may not be as structured and clear cut as in the above case. Examples are Malayalam Character Recognition, Neural Net Based Speech Recogniser, Biometric Systems, Machine Translation System etc. These projects provide more challenging opportunities to students, but at BSc level is a difficult choice. If any student identifies proper support in terms of guidance, technology and references from external organizations and also the supervisors are convinced of the ability of the student(s) to take up the project, it shall be permitted. The methodology and reporting of such projects could be markedly different from type (a) and is left to the proposer/external supervisor of the projects 3.2 Selection of Team: To meet the stated objectives, it is imperative that Major Project is done through a team effort. Though it would be ideal to select the team members at random (drawing lots) and this should be strongly recommended, due to practical considerations, students may also be given the choice of forming themselves into teams with 3 to 5 members (teams less than 3 members may be permitted in exceptional cases, for valid reasons). A gender mix should also be strongly suggested. A team leader shall be elected through drawing lots. Teams shall maintain team meeting minutes and ensure that every team member has tasks assigned in writing. Team meeting minutes shall form a part of the Project Report. Even if students are doing projects as groups, each one must independently take up different modules of the work and must submit the reports also independently (though, in such cases, some common materials is permissible). Evaluation will also be done independently. 3.3 Selection of Tools: No restrictions shall be placed on the students in the choice of platforms/tools/languages to be utilized for their project work, though open source is strongly recommended, wherever possible. No value shall be placed on the use of tools in the evaluation of the project. 3.4 Selection of External Organisation & Guide: No restrictions shall be placed on the students in the choice of external organization where project work may be done, in terms of locality, type (public/private) etc. It is the duty of the Head of Institute/Principal of College to ensure that the Aims, Objectives and full project guidelines are communicated to the external organization. The guide should ideally be a post-graduate with minimum 2 years of work experience. Students may also choose to do project in the college/institute (or partially in the college/institute and partially in an external organization), especially product-based work, but in such cases the supervisors must ensure that (i) industry practices are followed (ii) the students undertake a planned visit to an IT industry with international operations to make up for the loss of experience and (iii) the services of an external guide with industry experience is obtained. 3.5 Project Management: Head of Institute/Principal of College should publish a list of students, projects topics, internal guide and external organization (if any) and teams agreed, before the end of semester 5. Changes in this list may be permitted for valid reasons and shall be considered favourably by Head of Institute/Principal of College any time before commencement of the project. Any request for change after commencement should considered by a committee of 3 teachers and their recommendation shall be accepted by Head of Institute/Principal of College. Gantt-chart of proposed activities and a draft statement of project deliverables (which may subsequently be altered if justified) should be prepared before the commencement of the project. The actual completion of each phase should be noted on the chart in the course of the project work. Students should submit a fortnightly report of progress which could be indication of percentage of completion marked on the orginal Gantt-chart, with any notes attched. Students should ideally keep a daily activity log sheet. Team meetings should be documented in the format given at the end. Changes in the submitted documents are possible, as project development is essentially an evolutionary process. The project guide must ensure that changes are necessary due to the knowledge gained in succeeding phases of the project. The date of completion of a phase should be brought forward if the changes made are deemed to be errors and not due to additional knowledge gained from a succeeding phase. 3.6 Documentation: Four copies of the project report must be submitted by each student (one for department library, one for the organization where the project is done, one for the external examiner and one for the student himself/herself). After affixing signature of external examiners two copies will be returned at the time of the viva, which are for the external organization and for the candidate. A CD containing soft copy of the project report, source code and binaries recorded in different folders should also be submitted for documentation in the library. The CD also should bear the name of student, title of the project, year etc. The format for preparation of the project report is standardized from 2004 onwards (students need not consult earlier project reports). The following are the major guidelines: The final outer dimensions of the report shall be 21 cm X 30 cm. The colour of the flap cover shall be light green. Only hard binding should be done, with title of the thesis and the words “ BSc(CS) Project Report 200…” displayed on the spine in 20 point, Bold, Times New Roman, as in example below. In case the title is too long, a shorter version of it may be used (Like “Image Pro” instead of ”Image Pro – An Interactive Image Processing package”). It is highly recommended that LaTeX be used for documentation. • The text of the report should be set in 12 pt, Times New Roman, Single Spaced. • Headings should be set as follows: CHAPTER HEADINGS 20 pt, Times New Roman, Bold, All Caps, Centered. 1. SECTION HEADINGS 12 pt, Times New Roman, Bold, All Caps, Left Adjusted. 1.1 Section Sub-headings 12 pt, Times New Roman, Bold, Left Adjusted. Titles of Figures, Tables etc are done in 12 point, times New Roman, Italics, Centered. Some general guidelines on documentation stylistics are: • Double quotes and single quotes (“”, “) should be used only when essential. In most cases words put in quotes are better highlighted by setting them in italics. Eg: This process is known as “morphing”. This process is known as morphing. • Page numbers shall be set at right hand top corner, paragraph indent shall be set as 3. • Only single space need be left above a section or sub-section heading and no space may be left after them. • Certificate should be in the format: “Certified that this report titled....................... is a bonafide record of the project work done by Sri/Kum....................... under our supervision and guidance, towards partial fulfillment of the requirements for the award of the Degree of BSc (Computer Science) of the University of Kerala” with dated signatures of Internal; Guide, External guide and also Head of Institute/College. • If the project is done in an external organization, another certificates on the letterhead of the organization is required: “Certified that his report titled............................... is a bonafide record of the project work done by Sri/Kum............................. under any supervision and guidance, at the ..................Department of.................... (Organization) towards partial fulfillment of the requirements for the award of the Degree of BSc (Computer Science) of the University of Kerala”. • References shall be IEEE format (see any IEEE magazine or transaction). Take care in use of italics and punctuation. While doing the project, keep note of all books you refer, in the correct format, and include them in alphabetical order in your reference list. Eg: A book is cited as: Kartalopoulos, S V Understanding Neural Networks and Fuzzy Logic, BPB Publishers, 1996, pp. 21-27. (pp.21-27 indicates that pages 21-27 have been referred. If the whole book is being referred, this may be omitted. If a single page is referred, say 7, it may be cited as p.7 WEB BASED BILLING SOFTWARE: BSc(CS) PROJECT 2004 Report writing is NOT a hasty activity done after finishing the project. Students must try to develop the report along with the work, so as to give it flesh and blood. Drafts should be read, modified, spell checked and grammar checked at least thrice during the course of the project and before a final printout is taken, the same may be got approved from the internal guide. The students should send two interim reports to internal guides. This will also help the students in their report writing. The Gantt chart, fortnightly progress reports, and team meeting minutes mentioned in section 3.5 should appear as appendix to the project report. Regarding the body of the report, as an indicative example, the following is given (though students should not attempt to fit every kind of project report into this format): • Organizational overview (of the client organization, where applicable) • Description of the present system • Limitations of the present system • The Proposed system- Its advantages and features • Context diagram of the proposed system. • Top level DFD of the proposed system with at least one additional level of expansion • Structure Chart of the System • System flowchart • Menu Tree • Program List • Files or tables (for DBMS projects) list. Class names to be entered for each file in OO systems. • List of fields or attributes (for DBMS projects) in each file or table. • Program – File table that shows the files/tables used by each program and the files are read, written to, updated, queried or reports were produced from them. • Reports List with column headings and summary information for each report. • System Coding and variable/file/table naming conventions • System controls and standards • Screen layouts for each data entry screen. • Report formats for each report. Program documentation is suggested on the following lines: • Program id • Program level run chart • Program function explanation • Data entry screen (reproduced from system documentation). • Report layout (reproduced from system documentations) • Program level pseudocode or flowchart. • Decision tables, decision trees, with English explanation where necessary. • Program listing • Test data • Test results. 3.7 Methodology: Wherever applicable, object oriented approach should be used for software development. The project report should generally contain details of the following steps (though students should not attempt to fit every kind of project into this format): (a) Analysis - Study of existing systems and its drawbacks (general) - Understanding the functionalities of the system (detailed) - Preparation of requirement - Conduct of Feasibility study - Identification of relevant Objects - Abstraction of each object (attributed and methods) - Relationship between objects (b) Design - Design of each subsystems - Design of each classes - Design of communications between objects - Design of Algorithms for problem solving - User interface Design - Any other steps if necessary (c) Coding and Impletion (d) Testing (e) Security, Backup and Recovery Mechanisms (f) On line help and User Manuals (g) Upgradability Possibilities 3.7 Project IPR & Utilisation: The intellectual property rights in all project work done by the students shall vest with the University of Kerala, except in cases where some external organizations seek undertaking from students to concede IPR in all work done in their organization or under their guidance. Where possible, students should attempt to obtain at least a joint IPR for the University. In cases where project works are of public utility, students shall be asked to publish their work including source code and documentation, in so far as their rights are clear. 4. REFERENCES 4.1 Core References • S A Kelkar, Software Project Management, Prentice Hall of India [Rs 150] • W Alan Randolph, Barry Z. Posner, Effective project planning and management, Prentice Hall of India, ISBN 0-87692-776-2, Rs 75/- 4.2 Additional References • Greg Mandanis, Software Project Management Kit for Dummies, IDG Books, ISBN 81-265-0100-6 [Rs 279] • Joel Henry, Software Project management, ISBN 0-201-75865-2 • Frederic P B, Mythical Man-month: Essays on Software Engineering, Addison Wesley • David Lamport, Latex: A document Preparation System, 2/e, Pearson Education, ISBN 81-780-8575-5, Rs 275/- 5. NOTE ON ASSESSMENT: In-sem assessment: There shall be 6 components that will be considered in assessing a project work, with weightage as indicated: • * Timely completion of assigned tasks as evidenced by Gantt chart and team meeting minutes 20% • * Individual involvement, team work and adoption of industry work culture 10% • * Quality of Project Documentation (precision, stylistics etc) 10 % • * Achievements of project deliverables 20% • Effective Technical Presentation of Project work 10 % • Viva 20% Based on the above 6 components, 150 marks shall be awarded. For the starred components, internal and external supervisors shall separately award marks and the same shall be averaged. End-semseter assessment Evaluation of the Project work and conduct of viva-voce shall be done by a common board of examiners consisting of three members one of whom shall be the concerned guide and one shall be a person external to the College/Institute and one shall be an examiner appointed by the University. The above board of examiner shall award 100 marks based on the same components, except first two, as follows: • Quality of Project Documentation (precision, stylistics etc) 30 % • Achievements of project deliverables 30 % • Viva 40% The Viva shall, in addition to evaluation of project work, also attempt to gauge overall professional development of the student and also the generic subject awareness and knowledge of the student, mainly through an oral examination. There shall be common written quiz of 10-20 questions gauging generic awareness of the student in computer science (these shall not involve extensive memory recall), conducted for all the candidates together before the commencement of the Viva proper. Thereafter each candidate shall face the viva for a minimum of 10 minutes. There shall be questions from any of the following areas: (i) seminar and project done by the student (ii) questions to verify achievement of objectives of the BSc (Computer Science) Programme (these shall not involve extensive memory recall). The student shall produce before the board the project report, seminar report and any other major pieces of work done during the course. Appendix: Meeting Minutes: Sample Format from the web Date: _____________ Time: ______________ Location: ______________ Present • etc Individual progress reports ……. Discussion of problem to be solved by software ………..The general problem is that it is difficult to visualize the layout (in particular, the link structure) of a web site, which is something that is needed in order to maintain it well. Part of this is due to the fact that the links structure of most web sites does not form a directed acyclic graph….. Discussion of software requirements • The majority of the code will be written using Java and Swing; however, to be sure, we will only officially support its use on Linux and other UNIX environments. Discussion of management plan A project web site will be developed to help manage the project. Among other things, it will include the minutes from the meetings and the table of tasks and deadlines. Specific tasks assigned with deadlines • Everyone should email system architecture suggestions to ____ by ______. • _____ will have a basic Swing GUI ready by ___________ • _____ will send out an official build plan proposal by __________ Small points/other comments • Technical and user documentation will be done in html unless otherwise required by client Schedule next meeting The team meeting will be on __________ at ____________. NOTE: In the 6th semester, the 3 courses should be completed including in-sem assessment in half-a-semester and the rest of the time allotted completely for Major project.
America
Washington
capital