Reference Books:
Simulation Modelling and Analysis by Averill M. Law & David Kelton
Group-IV: Advanced Programming Environments
Subject Code
|
J0302APE01
|
Title
|
MFC Programming
|
Work Load Per Week
|
L:3 T:1
|
P:4
|
Examination
|
Internal: 30 University Exam: 70
|
|
Objectives
|
Make student comfort to develop desktop applications using MFC
|
Learning Outcomes
|
At the end of this course, students should be able to:
-
Handle multiple inheritance and polymorphism in C++
-
Use message handling of windows
-
Use MFC to do Graphics and System Programming
-
Develop applications and component to take advantages of MFC SDI and MDI
|
Pre-requisites
|
C Programming and Object oriented Concepts
|
Reference Books
| Bjarne Stroustrup, The C++ Programming Language, Addison-Wesley, 3rd Edition Jeff Prosise , Programming Windows with MFC, Microsoft Press; 2 edition, -
Richard Jones, Introduction to MFC Programming with Visual C++, Pearson
-
Herbert Schildt, MFC Programming from the Ground Up, McGraw-Hill
|
Syllabus
Unit 1: Essential C++
-
Using Structures and Union and Class
-
Types of constructors, need of copy constructor
-
Implementing Inheritance in C++, Access control in Inheritance
-
Concept of virtual function and using such functions, Concept of Virtual Table
-
Multiple Inheritance and virtual Base classes
Unit 2: Introduction to Windows Programming Model and Message Handling
-
Overview of developers studio, writing simple application
-
Windows Software Architecture, Event-Driven Programming
-
Messages and Message Encapsulation
-
Windows Libraries and APIs for message handling, The Message Map
-
Adding Message Handlers with Class Wizard
Unit 3: MFC Class Hierarchy
-
MFC Base Classes, Elements of an MFC Program
-
MFC Collection Classes, Iterating Collections
-
Documents and Frames
-
MFC Diagnostic Facilities
-
Exceptions
-
CWnd Encapsulation of Windows, CWnd Class Hierarchy, changing window attributes, handling activation and keyboard focus
Unit 4: Document/View Architecture
-
The Document/View Model Document and View Classes
-
Document Templates Saving and Loading Documents
-
Using Multiple Views SDI and MDI Application Styles
-
Decoupling Document and View
Unit 5: Serialization and Persistent Documents
-
CArchive Object
-
Document Serialization
-
Serializing Pointers
-
Creating Persistent Classes
-
Serializing CObject Pointers
Unit 6: The Mouse and keyboard
-
Windows Mouse Processing
-
CWnd Class Mouse Support
-
Capturing the Mouse
-
Mouse Cursor, Using MFC for Drawing with the Mouse
-
Windows Keyboard Conventions, Keystroke and Character Messages, Capturing Keystroke Input
Unit 7: Using Menus and dialogs
-
Building a Menu, Menu Resources
-
Command Routing and Implementing Message Handlers
-
Specifying Shortcuts and Accelerators, Dealing with Unavailable Options
-
CMenu Class and Dynamic Context Menus, MFC Strings and Use of Stringtables
-
Dialog Modality, Programming a Modal and Modeless Dialog
-
Connecting Code to the Dialog with ClassWizard
-
Building Custom Dialogs and Handling Control Messages
-
Using OCX Controls, Keyboard Traversal
-
Data Communication Between Dialog and Parent
-
Common Dialog Boxes, Property Sheets and Tabbed Dialogs
Unit 8: Using Controls
-
Mapping Control Variables, Modifying Control Attributes
-
Push Buttons, Check Boxes, RadioButtons
-
Edit Controls
-
List Boxes and Combo Boxes
-
Tree Controls
-
Spin Buttons, Progress Bars, and Sliders
-
Control Views
Unit 9: MDI and Multiple Views
-
SDI vs. MDI Applications
-
Multiple View Types
-
Multiple Views Under SDI and MDI
-
Document Templates
-
Instancing a View
-
Adding a New Document Class
Unit 10: Introduction to Resources
-
Windows Resources Overview
-
Icons, Cursors, and Bitmaps
-
Toolbars and Status Bars
-
Strings and Fonts
-
Menus and Dialogs
Unit 11: The Graphics Device Interface
-
Device Contexts and CDCs
-
GDI Drawing Tools and Attributes
-
GDI Object Creation and Cleanup
-
Colors
-
GDI Coordinate Systems and Mapping Modes
-
Regions and Clipping
-
Drawing and Text Functions
-
Pens, Brushes, Fonts
-
Bitmaps and DIBs
-
Icons and Cursors
Unit 12: Form Views
-
Form, Scroll, and Edit Views
-
Creating a Form View from a Dialog Template
-
Adding a Form View to a Document
-
Handling Messages for View Controls
-
Initializing and Sizing the Form View
-
Preventing User Resizing
Unit 13: Database Programming
-
MFC Capabilities
-
The Jet Engine
-
MFC Database Classes
-
Using CRecordView
-
Overview of SQL
-
Using DAO and ODBC for Browsing, Adding, Updating and Deleting Records
-
DAO and ODBC Classes and taking AppWizard and Class Wizard Support
Subject Code
|
J0302APE02
|
Title
|
Advanced Software Engineering
|
Work Load Per Week
|
L:4 T: Lab:1
|
Examinations
|
Int: 30 Univ: 70
|
Objectives
|
The course aims to develop the broad understanding of the discipline of software engineering (gained in the earlier software engineering course) by considering the wider systems engineering context in which software plays a role. It aims to examine the concept and techniques associated with a number of advanced and industrially relevant topics, relating to both the product and processes of software engineering.
|
Learning Outcomes
|
At the end of this course, student should be able to
-
Appreciate the wider engineering issues which from the background to developing complex evolving systems.
-
Employ the selection of concept and techniques to complete a small scale study into one of the advanced topic areas.
-
Embark on more in depth research or practice in software engineering
-
Understand the aspects, agile, service, agent oriented software engineering.
|
Pre-requisites
|
Basic Knowledge software engineering
|
Text Book(s)
|
SOFTWARE ENGINEERING, Ian Sommerville, 8th edition, AddisonWesley 2006, ISBN -10:0321313798
SOFTWARE ENGINEERING A PRACTITIONERS APPROACH fourth edition BY Roger S. Pressman McGraw Hill International Edition
|
Syllabus
|
|
Unit 1. Socio-technical Systems and system models
Emergent system properties System engineering
Organization, people and computer systems Legacy system
Context model Behavioral model
Data model Structured model
Unit 2. Architectural Design and Distributed systems Architecture
-
Architectural design decisions System organizations
-
Modular decomposition styles Control Styles
-
Reference architectures Multiprocessor architecture
-
Client server Distributed object Architecture
-
Inter organizational distributed computer
Unit 3. Object oriented, Real time and component based software design
-
Object and object classes Object oriented design process
-
Design evolution Real time operating systems
-
Monitoring and control systems Data acquisition systems
-
Component and component models CBSE process
-
Component composition
Unit 4. Security and service oriented software engineering
-
Security concept Security risk management
-
Design of security System survivability
-
Services as reusable components Service engineering
-
Software development with services
Unit 5. Aspect Oriented Software Development
-
Cross cutting concern Development concerns
-
Production concerns Goals
-
Weaving
Unit 6. Agile Software engineering
-
Introduction What is agile development?
-
Agile manifesto and agile principles Modeling and agile modeling
-
The gist of agile processes
Unit 7. Agile Methodologies
-
Reasons for agility
-
Methodologies for developing software
-
Why care about methodologies?
-
Agile processes strength and weaknesses
-
Understanding XP, Scrum, Evo, Unified Process, Crystal, Lean development, ASD, DSDM and FDD
-
Comparison of methodologies
-
Choosing a methodology
-
Customizing a methodology
Unit 8. Agent oriented software engineering
-
Introduction
-
Agent oriented software
-
The case for an Agent oriented Approach
-
Agent oriented software lifecycle
Subject Code
|
J0303APE03
|
Title
|
Human Computer Interface and Mobile Computing
|
Work Load Per Week
|
L:3 T:1
|
P:2
|
Examination
|
Internal: 30 University Exam: 70
|
|
Objectives
|
Introduce models and principles of Human Computer Interface (HCI) and use that in Mobile programming using J2ME
|
Learning Outcomes
|
Upon completion of this course, students should be able to:
-
Understand Models and principles of HCI
-
Understand various mobile technologies such as GSM, SMA, CDMA and WAP Architecture
-
Understand WAP and J2ME Architecture
-
Develop simple applications using MIDlets
-
make efficient Use threads and memory in application
-
Make HTTP network connections from the mobile device.
|
Pre-requisites
|
Object Oriented Programming
|
Reference Book
| -
Asoke K Taqlukeder, Roopa Yavagal Mobile Computing, McGraw-Hill; 2005
-
James Keogh J2ME: The Complete Reference, McGraw-Hill Osborne Media; 2003
-
Ben Shneiderman, Designing the User Interface, Pearson Education, 1998
|
Syllabus
Lec.
Num
|
Unit Title
|
Details
| -
|
Introduction to Human Computer Interface
|
Need and Importance of HCI
| -
|
HCI and Human Diversity
| -
|
Goals and Objectives of HCI
| -
|
Models of HCI
|
Conceptual, semantic, Syntactic and Lexical Model
| -
|
GMOS Model
| -
|
Object-Action Interaction model
| -
|
Action-Object Interaction model
|
Lec.
Num
|
Unit Title
|
Details
| -
|
Principles of Design
|
Principle 1: Recognition and Diversity
| -
|
Principle 2: Eight golden rules of interface design
| -
|
Principle 3: Error Prevention
| -
|
Guidelines for Data Display and Data Entry
| -
|
Interaction Styles of design
|
Direct and Menu selection
| -
|
Form fillin, Command Language
| -
|
Natural Language
| -
|
Computer Supported co-operation
|
Goals of co-operation, Synchronous Interactions
| -
|
asynchronous and face to face Interactions
| -
|
Application to education and social issues
| -
|
|
Future Applications and HCI
| -
|
Introduction to Mobile Computing
|
Introduction to mobile computing , Characteristics of mobile devices , Issues of mobile computing
| -
|
Mobile Computing Architecture
| -
|
Understanding Global System for Mobile Communication (GSM)
| -
|
Concept of Short Message Service (SMS) and General Packet Radio Service (GPRS)
| -
|
Understanding Wireless Application Protocol (WAP)
| -
|
CDMA Technology, Spread spectrum technology, CDMA vs GSM
| -
|
Wireless Data and Third Generation(3G) Networks
| -
|
Introduction to J2ME Programming
|
Overview of J2ME
| -
|
J2ME Architecture
| -
|
The Connected, Limited Device (CLDC)Configuration and Classification CLDC of Target Devices
| -
|
Limitations of Java Language Support in CLDC, The java.lang Package
| -
|
CLDC Collections API, The Streams Model
| -
|
The Generic Connection Framework
|
Lec.
Num
|
Unit Title
|
Details
| -
|
|
The Mobile Information Device Profile, Relationship of MIDP to CLDC
| -
|
MIDlets, MIDlet Lifecycle, Application Descriptors
| -
|
The Java Application Manager, MIDlet Suites and, Loading Resources
| -
|
User Interface Design
|
The High-Level User-Interface (HLU) API, Application Descriptors, Displayable Hierarchy
| -
|
HLU: using Forms, Items, Text Fields, date and times
| -
|
HLU: Choice groups, alerts, Tickerts
| -
|
The Low-Level User-Interface(LLU) API: Canvas Class, Using Graphics object for drawing graphics/text and controlling font
| -
|
|
| -
|
Event Handling
|
MIDP Event Architecture, High-Level Event Handling, Commands
| -
|
Item State Changes, Low-Level Event Handling
| -
|
Keypad and Pointer Input
| -
|
MVC in MIDP, Model Events
| -
|
The Record Management System
|
Persistence on Mobile Devices, Scope of Record Management
| -
|
Opening and managing a Record Store
| -
|
Using Streams for Record I/O, Persistence Strategies, Filtering and Sorting Records
| -
|
Networking and Timers
|
The Generic Connection Framework, MIDP Connection Types, Creating an HTTP Connection
| -
|
Building Query Strings, Reading HTTP Responses,
| -
|
The WTK Network Monitor, Bandwidth Emulation
| -
|
Threading, Timers and Timer Tasks
| -
|
Memory Management
|
Memory Management Techniques, The WTK Memory Monitor and Efficient Data Representation
| -
|
Controlling Object Creation, Using Arrays Effectively, String Manipulation
|
Share with your friends: |