Syllabus

33
Software Engineering (This has been contributed by a TCS Professional) 1. Aim: To enable the students to have a thorough understanding of the activities in development projects using the methodologies given below: Structured Analysis and Design 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 Structured Analysis and Design methodology. Use the Structured Analysis and Design methodology for software development Test software developed using SSAD methodology. Have in depth knowledge about the different Object Oriented Themes and compare the Structured Approach with the Object Oriented Approach. Understand the various activities undertaken for a software development project using Object Oriented Analysis and Design. Use Object Oriented Analysis and Design methodology for software development. Test software developed using OOAD Methodology. 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. 1

description

 

Transcript of Syllabus

Page 1: Syllabus

Software Engineering (This has been contributed by a TCS Professional)

1. Aim:To enable the students to have a thorough understanding of the activities in development projects using the methodologies given below:

Structured Analysis and Design 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 Structured Analysis and Design methodology. Use the Structured Analysis and Design methodology for software

development Test software developed using SSAD methodology. Have in depth knowledge about the different Object Oriented Themes and

compare the Structured Approach with the Object Oriented Approach. Understand the various activities undertaken for a software development

project using Object Oriented Analysis and Design. Use Object Oriented Analysis and Design methodology for software

development. Test software developed using OOAD Methodology.

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

1

Page 2: Syllabus

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. CORE REFERENCES:Author: Rajib MallTitle: Fundamentals of Software Engineering, Second EditionPublisher: Prentice Hall of IndiaISBN: 81-203-2445-5Price: Rs. 195/-Author: Pankaj JaloteTitle: An Integrated Approach to Software EngineeringPublisher: Narosa Publishing HouseISBN: 81-7319-271-5Price: Rs. 95/-Remarks: This book covers almost every topic in the syllabus in a concise manner.Author: Martin FowlerTitle: UML Distilled, Third EditionPublisher: Addison-WesleyISBN: 0-321-19368-7

2

Page 3: Syllabus

Price: Only foreign edition available now ($34.99)Remarks: This book covers UML 2.0

5. Additional References:Author: Roger S. PressmanTitle: Software Engineering – A Practitioner’s Approach, Fourth EditionPublisher: McGrawHill Companies, Inc.ISBN: 0-07-052182-4Price: Rs. 415/-Remarks: Covers almost every topic in the syllabus comprehensively.Author: Meilir Page JonesTitle: The Practical Guide to Structured Systems Design, Second EditionPublisher: Prentice Hall of IndiaISBN: 81-203-1482-4Price: Rs. 195/-Remarks: This book covers Architectural Design in detail. Separate chapters on Coupling, Cohesion and Structure Chart. Authors: Jeffrey A. Hoffer, Joey F. George, Joseph S. ValacichTitle: Modern Systems Analysis and DesignPublisher: Pearson Education Inc.ISBN: 81-7808-781-2Price: Rs. 350/-Remarks: This book has large number of examples, exercises and case studies.Author: Grady BoochTitle: Object Oriented Analysis and Design with ApplicationsPublisher: Addison-WesleyISBN: 981-235-981-8Price: Rs. 447/-Remarks: The Chapter “Object Model” discusses all the OO Themes in detailAuthors: Grady Booch, James Rumbaugh, Ivar JacobsonTitle: The Unified Modeling Language User GuidePublisher: Addison-Wesley ISBN: 981-4053-31-7Price: Rs.402/-Remarks: Comprehensive book on UML.Author: Frederick P. Brooks, Jr.Title: The Mythical Man MonthPublisher: Addison-WesleyISBN: 0-201-83595-9Price: Rs.535/-Remarks: This book deals with Project Management.

3

Page 4: Syllabus

Author: Kent BeckTitle: Extreme Programming ExplainedPublisher: Pearson Education Inc.ISBN: 81-7808-667-0Price: Rs. 195/-

6. Journals and Magazines:1. Software Development, CMP Media.2. Software Quality Professional, ASQ.

7. Web Resources:

1. www.rspa.comRemarks: R.S. Pressman & Associates, Inc. has assembled over 1000 Software Engineering Resources on a variety of Software Engineering Topics.2. http://courses.cs.vt.edu/csonline/SE/Lessons/Remarks: An Introduction to Software Engineering and a Comparison of the Procedural and Object Oriented Approaches3. http://www.omg.org/gettingstarted/what_is_uml.htmRemarks: This article gives an introduction to UML4. http://www-106.ibm.com/developerworks/java/library/co-design5.htmlRemarks: This tutorial gives an introduction to Use Cases.5. http://www-106.ibm.com/developerworks/java/library/j-jmod0508/Remarks: This tutorial gives an introduction to Sequence Diagrams.6. http://www.math-cs.gordon.edu/local/courses/cs211/ATMExample/Remarks: A complete example of Object Oriented Analysis, Design and Programming applied to a moderate size problem: the simulation of an Automated Teller Machine is explained in this site.

8.Curricular Transaction:The Software Engineering Course will have the following components:Lecture, Exercise and Assignment.

8.1 Lecture:The faculty should teach the basic concepts of the subject. He / She should solve a case study of moderate complexity 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.

8.2 Exercise:The students should do at least one exercise on each of the following:

(a)Context Diagram(b)Level-1 Data Flow Diagram(c) Entity Relationship Diagram(d)Decision Tree(e)State Chart Diagram(f) Structure Chart(g)Coupling(h)Cohesion

4

Page 5: Syllabus

(i) Normalization(j) Use Case Diagram(k)Class Diagram, and(l) Sequence Diagram.

The faculty can select the exercise from any of the textbooks mentioned in the Reference.

8.3 Assignment:Section 9.1 gives a detailed description about the assignments to be given during the course.9. Assessment:The assessment will be carried out using Assignment, Quiz and Exam9.1 AssignmentAssignment 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.pdfThe SRS should contain:

1. Data Flow Diagram (DFD)2. Entity Relationship Diagram (ERD)3. Data Dictionary4. 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 Diagram2. Class Diagram3. Sequence Diagram

They can also develop the pseudo code for the system to be developed.

9.2 QuizThere can be two quizzes during the course. Quizzes can be of the similar pattern as the exam, which is given in Section 9.3.

9.3 ExamModel Question Paper:

Section AAnswer any eight questions

1. Write pseudo code segments (or code segments in C) which have the following types of coupling: (5 marks)

(a) Control Coupling(b) Common Coupling

5

Page 6: Syllabus

2. Write pseudo code segments (or code segments in C) which have the following types of cohesion: (5 marks)

(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 (5 marks)

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 polymorphism 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 Diagram and Collaboration diagram. In which context is each of the diagrams used? (5 marks)

6

Page 7: Syllabus

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 BAnswer the following questions based on the case study given

below: 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.

Answer any four questions

7

Page 8: Syllabus

1. Draw the Context Diagram and Level –1 Data Flow Diagram for the above problem. (Marks 10)

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

(Marks 10)

3. Draw the Structure chart, for the above problem, using transaction and transform analysis. (Marks 10)

4. Design the black box test cases for the library software (Marks 10)

5. Draw the Use Case Diagram for the above problem. Identify all the scenarios. (Marks 10)

6. Draw the Class Diagram for the above problem. Identify the attributes and methods for each class. (Marks 10)

Section CThe 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.

Answer any question given below.1. Object Oriented Analysis and Design

(20 Marks)(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.

8

Page 9: Syllabus

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

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

2. Perform Structured Analysis and Design for the Case Study given above.

The analysis and Design should include:(a) Data Flow Diagrams(b) Entity Relationship Diagram(c) Data Dictionary(d) Structure Chart(e) Normalized Tables (till 3NF) and (f) Pseudocode of the system to be developed. (20 marks)

Web Programming1. AIMS: 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/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

9

Page 10: Syllabus

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;

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; 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: Miscallaneous: JDBC; PHP; .NET Technology; C#; Creative Design of Web sites; 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 ReferencesJoel Sklar, Priciples of Web Design, Vikas, Rs 2254.3 Internet resources:

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.hotmail.com, www.samachar.com )6. NOTE ON ASSESSMENT:

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

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.General Instructions: This assignment is aimed at giving the students an opportunity to practice most of the important web-site design tools. The starred questions may require self-study of topics not covered in the course. Group submission is not permitted in this module, considering the nature of the work. A hardcopy is required with cover-page as shown in appendix. The website name should be clearly mentioned. At least five screen printouts should be included in the report. All code should be well documented along with clear explanations. You should be ready to face a Viva/Quiz based on the project. 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 onesB : Satisfactory completion of all tasks except starred onesC : Partial completion of all tasks except starred onesF : Unsatisfactory

10

Page 11: Syllabus

Deadline for submission : Friday of the week in which the 15th Slot falls. 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.

DESIGN OF PERSONAL WEB-SITE:You are required to design a personal web site 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 pages3. Use of Java Script, including event handling, *processing of cookies, *browser detection and *validation of form data4. Use of Dynamic HTML5. Use of Server-side scripting as well CGI scripting (using both GET and *POST methods).6. Inclusion of *registration, *guest books, *chat facility etc7. Provision of *site search facility8. Inclusion of banner advertisements, preferably on a barter basis.9. Uploading of the site in any free web-hosting server (geocities, tripod, xoom..)Listing of the site in any two search engines (yahoo and altavista suggested), under keywords “…”, “KERALA STUDENT”, and your name. 6.3 Exam QP Sample(1) Give the HTML code for the following browser display [3 marks](b) Give two comparisons between jpg and gif image file formats. [2 marks]

(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”. [3 marks](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 ? [2 marks]

(a) Give the HTML code for the following form. [3 marks]

(b)In example A3(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? [2 marks]

A5 (a) Redefine the <H1> tag to 25 points, italics and Arial font, using cascading style sheets. [3 marks]

(b)Give the Java Script code for displaying the string “Kerala” in 5 different sizes. [2 marks]

A6 (a) What is the difference between SSI and CGI? What do you mean by document parsing of shtml files ? [3 marks]

(b) Write an XML style sheet to define a new tag <GENTLE> </GENTLE> which should display text in Garamond, 24 point, italics in gray color. [2 marks]

A7 (a) Give the VRML code to display a green, 3D, sphere image in a VRML enabled browser. [3 marks]

11

Page 12: Syllabus

(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).[2 marks][40 MARKS]

Answer any TWO questions of your choice from THREE. Each question carries 10 marks.

1 (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. [10 marks]

(b)Explain how a form is processed by a CGI program, with an example.[10 marks]

1 (a) Explain briefly the Document Object Model. [10 marks]

(a)Discuss and compare Static, Dynamic and Active web documents. [10 marks]

1 (a) What are the core elements of DHTML ? List three typical special effects possible with DHTML, with an example for any one. [10 marks]

(b) Explain how an SSL-based e-commerce transaction work, with an example, bring out clearly how data encryption and authentication between a web client and server is achieved. [10 marks]

SECTION C [20 Marks]

Answer ONE question in this section.

(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.[20 marks]

12

Page 13: Syllabus

Artificial Intelligence1. AIMS: To expose students to basic concepts and tools of Artificial Intelligence and create

awareness about its applications, both current and futuristic2. 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 field3. SYLLABUS

Module–I: Introduction to AI: Intelligence & AI: Turings Test, branches of AI, AI and search process: Random, Depth-first, Breadth-first, Best First, A* and AO* algorithms; Game Playing: Min-Max and modified Min-Max.

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; General introduction to parsing techniques; Features of Standard Tools; Applications. Computer Vision: Image acquisition, processing, analysis, understanding; Applications

Module–IV: Expert Systems: Expert Systems; Architectures; Knoledge Bases and Inference Engines; Case stdy of MYCIN and DENDRAL; Applications; Generic Introduction to LISP and Prolog

Module–V: Miscallaneous Topics: Robotic; Critic of Artificial Intelligence; Neural Network Models; Genetic Algorithms; Molecular Computers; Future of AI.

4. REFERENCES

4.1 Core References V S Janakiraman, K Sarukesi, P Gopalakrishnan, Foundations of Artificial Intelligence,

Macmillan, India, ISBN 033392 625 0 [Rs 157]4.2 Additional References

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 and 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

5. NOTE ON CURRICULAR TRANSACTIONS:

6. NOTE ON ASSESSMENT:

6.1 Model Questions for Quiz: [10-20 questions for each module, conducted at the end of the lectures related to the module]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. 6.3

13

Page 14: Syllabus

Assembly language Programming1. AIMS: .

2. OBJECTIVES: .

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.

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

Module–III : Interrupts:

Module–IV: IO Interfacing

Module–V: Miscallaneous Topics:. RISC, CISC,

4. REFERENCES

4.1 Core References V Rajaraman & T Radhakrishnan, Essential assembly Language Programming for the IBM PC,

PHI, ISBN 81-203-1425-5, [Rs 125]

4.2 Additional References William B Jones, Assembly Language Programming for the IBM PC Family (w/CD),

Dreamtech Press, ISBN 81-7722-197-3, [Rs 399]

Peter Abel

4.3 Internet resources:

5. NOTE ON CURRICULAR TRANSACTIONS:

6. NOTE ON ASSESSMENT:

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

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. 6.3

14

Page 15: Syllabus

Professional studies1. AIMS: .

2. OBJECTIVES: and Linguistics.

3. SYLLABUS

Computers in Social Context; Moral and Legal Issues; Professional ethics; Ethics and Internet; Hacking; Cyber Crimes; Privacy, IPR Approaches; Technology and Social Change; Access and Digital Divide; Free expression; Future issues

4. REFERENCES

4.1 Core References Debprah G Johnson; Computer Ethics (3rd Edition), Pearson Education Asia, [Rs 175]

4.2 Additional References

4.3 Internet resources:

5. NOTE ON CURRICULAR TRANSACTIONS:

6. NOTE ON ASSESSMENT:

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

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.

15

Page 16: Syllabus

BSC 305 Humanities II1. 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 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: ; Module–IV: Introduction to Psychology: Definition and Nature of Psychology; Module–V: Introduction to Logic: Definition and scope of Logic

4. REFERENCES

4.1 Core References Dev Raj Bali, Introduction to Philosophy, Sterling Publishers, New Delhi, ISBN 81 207 09195 [Rs

50]

4.2 Additional References R B Rai, On the Path of Success, Rupa, Rs 195 {Highly Recommended} Nigel Warburton; Philosophy: The Basics (Second Edition) , Foundation Books, ISBN 0-415-

14694-1; [Rs 295] K Sivarajan, Psychology of Learning and Instruction, Calicut University Central Cooperative

Stores, Rs 80

4.3 Internet resources:www.highcourtofkerala.orgwww.supremecourt.nic.in

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. 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 –II 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 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:

16

Page 17: Syllabus

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

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 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.

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 institutions2. Compare the joint family and nuclear family3. Discuss three chosen classifications of law4. Briefly discuss salient features of Indian Legal System.5. Among the Indian political thoughts, discuss your favourite school bringing out its strength

and weakness6. What are the salient features of a mixed economy ?7. What are linguistic pecularities of Indian languages ?8. Discuss basic classification of human sounds

17

Page 18: Syllabus

OBJECT ORIENTED PROGRAMMINGModule IObject Oriented Programming,OOPs Charateristics,C & C++,Insertion & Extraction Operators with cout & cin,Datatypes,Operators,Control Statements,Arrays,Enumerated Data Type,Structures,Functions,New & Delete Operators,Preprocessor Directives.Module IIClasses & Objects,Access Specifiers,Object As Arguments,Function ReturningObjects,Constructors,Destructors,this Ponters,Objects & bPointers,Pointers as Class Data Members,Inheritance, Protected Access Specifier,Constuctors in inheritance,Overriding,Types of inheritance.ModuleIIIPolymorphism,Function Overloading,Virtual Functions,Operator Overloading,Unary&Binary operator overloading,Overloading <<,==,>> operators,Friend Function,Friends & Operator Overloading,Data Conversion,Static Data Members & Member Functions,Exception Handling,Templates.Module IVI/O Stream ,I/O Buffer,I/O Redirection,File I/O,fsteam .h,Creating ,Reading,writng Data to a file,Character I/O,Text Files, Binary Files,File Modes,Appending to a File,seekg(),tellg(),seekp() & tellp() Methods,Creating Executable files,Random Access Files,Command Line Arguments.Module VFilling the Unused space,Field Width,Precision,Trailing Zeroes,istream methods,C++ & Graphics,Window Function,cputs & clrscr functions,initgraph(),closegraph(),setcolor(),setlinestyle(),floodfill(),graphic primitives(line,rectangle,circle,ellipse),polygon & inheritance,Sound & motion.

Text Book : Object Oriented Programming in TurboC++ ,By RobertLafore,Galgotia Publications Pvt.Ltd.NewDelhi,1994 Price:279 Reference:1.Let Us C++ : Yaswant Kanetkar ,BPB Publications2.The C++ Programming Language,Bjarne Stroustrup,Addison Wesley Publishin Company,New York,19943.Teach Yours self,@nd Edition Herbert Schildt,Osborne,19944.Object Oriented Analysis & Design With Applications,II edition,Benjamin/Cammings,1994Websites:1.www.zib.de/Visual/people/mueller/ Course/Tutorial/tutorial.html2.www.amazon.com3.www.linuxgazette.com/issue55/williams.html

18

Page 19: Syllabus

Main Project1. 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 in 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 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 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 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

19

Page 20: Syllabus

(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 in the form enclosed as annexure: ….. Students should ideally keep a daily activity log sheet. Team meetings should be documented in the format given in annexure …… 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. 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 “<BRIEF TITLE> 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”).

20

Page 21: Syllabus

WEB BASED BILLING SOFTWARE: BSc(CS) PROJECT 2004

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,

21

<PROJECT TITLE>

<STUDENT’S NAME><COLLEGE NAME>

PROJECT REPORTSUBMITTED IN PARTIAL FULFILMENT OF THE

REQUIREMENTS FOR THE AWARD OF BSc (COMPUTER SCIENCE) DEGREE OF

UNIVERSITY OF KERALA 2004

Page 22: Syllabus

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

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

22

Page 23: Syllabus

- 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]

4.2 Additional ReferencesGreg 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-2Frederic P B, Mythical Man-month: Essays on Software Engineering, Addison Wesly

4.3 Internet resources:

5. NOTE ON 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 % Defence 20%

Based on the above 6 components, 50 marks shall be awarded by internal and external supervisors, averaging their separate assessments. External examiner shall award 50 marks based on the same components, except first two, as follows: Quality of Project Documentation (precision, stylistics etc) 30 % Achievements of project deliverables 30 % Defence 40%

23

Page 24: Syllabus

Appendix: Meeting Minutes: Sample Format

Date: _____________Time: ______________Location: ______________Present

<name & signature> <name & signature> <name & signature> <name & signature>

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.

The input of the program will be a "http" URL. o Sites with frames will not be supported. o Flash sites will not be supported. o Only html files will be searched for links.

The output of the program will be visual graph. o The displayed graph will have an obvious "root" node. o The graph will display at least every other node with a distance of 2 or less from the root

node. Although only a portion of the graph will be displayed, the web site will be fully graphed in the

data structures of the program.

The language of implementation will be Java. The primary split will be between (1) the section of the program that parses files and generates a graph structure and (2) the section of the program that controls user I/O including the display of the graph structure.Discussion of build planSome sort of incremental construction is necessary. One step would be to get the GUI working by displaying text output first. Aaron will keep track of builds and make them available via the internet.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 meetingThe team meeting will be on __________ at ____________.

24