Sie sind auf Seite 1von 10

BIT Year 2 – Semester 4 – Detailed Syllabi IT4103

IT4103 - Programming II (Compulsory)

INTRODUCTION
This is one of the two compulsory courses designed for Semester 4 of the Bachelor of
Information Technology Degree program. This course on Programming II is a continuation
of the Programming I course which is a compulsory course in the Semester 4.

CREDITS: 04

LEARNING OUTCOMES

After successful completion of this course, students will be able to:

• Identify the differences between Java Applications and Applets

• Describe the ways of accessing file system by a Java application

• Explain how to create a window and apply event handling mechanisms


appropriately using API

• Access a database through an application

• Discuss common data structures used in applications

• Discuss common searching and sorting algorithms

OUTLINE OF SYLLABUS

Topic Hours

1- Java Applications and Applets 01

2- Accessing Files and Directories 02

3- Creating Windows and Handling Events 05

4- Database Access in Java 02

5- Overview of Data Structures 01

6- Stacks, Queues and Hashing 10

7- Linked Lists 04

8- Recursion 07

1
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103

9- Trees 09

10- Graphs 08

11- Searching and Sorting Algorithms 11

Total for the subject 60*

* Students may need more time to do relevant practical work.

SYNOPSIS/OVERVIEW
This course is designed as a continuation of the Programming I course in the Semester 2
of the first year. Those who learnt fundamentals of programming can enhance their
knowledge after following the Programming II module in which two distinct parts are
introduced. From section one to section four, learner can gain exposure to the basic
requirements of Java language including database connectivity. Therefore, the learner will
get an idea of programming with regard to a single programming language as a whole
and master their skills to match their own requirements. From section 5 to section 11, the
learner is given an opportunity to familiarize with the way data is structured in the
computer memory and how to formulate an algorithm to handle such data. Therefore,
after following these sections, the learner would gain knowledge on how to structure data.
In order to master these areas, the learner is given the knowledge on applications and
applets, how to create graphical user interfaces, and how to handle events which interacts
with the interfaces. The learner will be able to identify the features of Java applications
including access to databases. The learner will also be given an opportunity to apply
stacks, queues, lists, trees and graphs paving ways to familiarize himself/herself with data
structures. Finally, searching and sorting algorithms are discussed in detail.

PEDAGOGICAL FRAMEWORK

The main pedagogical framework of the course focuses on activity based learning.
Students are supposed to do all the learning activities given in the LMS.

2
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103

EXPECTATIONS/EXAMINATIONS/REQUIREMENTS

The learners are expected to obtain knowledge and master necessary skills to work
with the Java language concentrating more on the topics-applications, applets, files
and directory access, Graphical User Interface design, interacting with user
interfaces using events and database access. Under the topic Data Structures, the
learner should be able to understand stacks, queues, lists, trees, graphs and sorting
algorithms. A set of questions are provided to the learner at the end of each chapter
and two assignments are provided; One at the end of the first half of the syllabus and
the other at the end of the full syllabus. Marks for the activities and quizzes are not
counted however marks for the assignments are tracked by the LMS and a pass
grade is issued. Obtaining pass grades for the two assignments and Final Exam are
mandatory for the successful completion of Semester 4.

REQUIRED MATERIALS

Main Reading
Ref 1: Data Structures and Algorithms in Java by Adam Drozdek, Thomson learning,
2nd edition, 2006, ISBN: 81-315-0107-8.
Ref 2: Data Structures and Algorithms in Java by Robert Lafore, GC Join for
Techmedia, 2nd edition, ISBN: 817635-186-5
Ref 3: Ivor Horton’s Beginning JavaTM 2, JDKTM 5 edition by Ivor Horton, Wiley India
(P) Ltd India, 2006. ISBN 81-265-0570-2

3
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103

DETAILED SYLLABUS:

Section 1 : Java Applications and Applets (01 hr)


Instructional Objectives

• Identify the differences between applets and applications


• Describe the steps to follow in executing applications and applets

Material /Sub Topics

1.1. Executing a Java application [Ref 3 : pg. 9 – 10, 24 - 26]


1.2. Executing an applet [Ref 3 : pg. 10 – 12]

Section 2 : Accessing Files and Directories (02hrs)


Instructional Objectives

• Create File objects and use them to access files and directories
• List File class methods which could be used to access the content of the hard
drives
• Differentiate among creating permanent files, temporary files and directories in the
permanent storage
• Use of FileOutputStream

Material /Sub Topics

2.1. Working with File objects [Ref 3 : pg. 401 – 408]


2.2. Testing File objects [Ref 3 : pg. 408 – 417]
2.3. Creating and accessing files and directories [Ref 3 : pg. 417 – 419]
2.4. Working with FileOutputStream [Ref 3 : pg. 419 – 425]

Section 3 : Creating Windows and Handling Events (05 hrs)


Instructional Objectives

• Describe how to create and display a resizable window


• List the usage of components and containers
• Explain the control of layout managers
• Construct a menu bar and menus for windows
• Identify what a menu shortcut is and how to add a short cut for a menu item
• Describe events in Java
4
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103

• Describe the structure of an event driven program


• Describe how events are handled in java
• Describe how components handle events
• Describe the usage of an event listener
• Analyze an adapter class
• Differentiate among event classes
• Describe selected user actions and their usage

Material /Sub Topics

3.1. Graphical user interfaces in Java [Ref 3 : pg. 767 – 775]


3.2. Components [Ref 3 : pg. 775 – 801]
3.3. Containers [Ref 3 : pg. 801 – 803]
3.4. Container layout managers [Ref 3 : pg. 803 – 843]
3.5. Adding a menu to a window [Ref 3 : pg. 843 – 854]
3.6. Event driven programs [Ref 3 : pg. 861 – 863]
3.7. Event handling process [Ref 3 : pg. 863 – 867]
3.8. Event classes [Ref 3 : pg. 867 – 883]
3.9. Alternative event handling approaches [Ref 3 : pg. 893 – 902]
3.10. Using actions [Ref 3 : pg. 902 – 923]

Section 4 : Database Access in Java (02hrs)


Instructional Objectives

• Describe the use of JDBC package


• Implement a JDBC program
• List the key elements of the JDBC API

Material /Sub Topics

4.1. The JDBC package [Ref 3 : pg. 1292]


4.2. Relating JDBC to ODBC [Ref 3 : pg. 1293]
4.3. JDBC Basics [Ref 3 : pg. 1293 – 1327]

5
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103

Section 5 : Overview of Data Structures (01hr)

Instructional Objectives

• Describe the use of data structures


• List different implementation techniques
• Identify code segments of a data structure in the given example

Material /Sub Topics

5.1. Introduction to data structures [Ref 2 : pg. 1]


5.2. Practical data storage structures [Ref 2 : pg. 2]
5.3. Programmer’s Tools for data storage [Ref 2 : pg. 3]
5.4. Real-world Modeling for data storage [Ref 2 : pg. 3]

Section 6 : Stacks, Queues and Hashing (10hrs)


Instructional Objectives

• Describe use of stacks


• Describe the use of queues
• Compare different queue implementations
• List the features of different queues
• Explain hash functions

Material /Sub Topics

6.1. Stacks
6.1.1. Implementing a stack [Ref 2 : pg. 91 – 105]
6.1.2. Efficiency of stacks [Ref 2 : pg. 105]
6.2. Queues
6.2.1. Overview of queues [Ref 1 : pg. 149]
6.2.2. Queues and their different operations [Ref 1 : pg. 149]
6.2.3. Implementing queues - normal and circular methods [Ref 1 : pg. 150 -
152]
6.2.4. Priority queues [Ref 1 : pg. 157 -163]
6.3. Hashing [Ref 1 : pg. 520 -522]
6.3.1. Hash Functions

6
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103

Section 7 : Linked Lists (04hrs)


Instructional Objectives

• Describe the use of Linked Lists


• Explain different implementation of Linked Lists

Material /Sub Topics

7.1. Single Linked Lists [Ref 1 : pg. 80]


7.2. Doubly Linked Lists [Ref 1 : pg. 95 – 99]
7.3. Circular Lists [Ref 1 : pg. 99 - 101]
7.4. Skip Lists [Ref 1 : pg. 101 - 107]
7.5. Self-Organizing Lists [Ref 1 : pg. 107 - 111]

Section 8 : Recursion (07hrs)


Instructional Objectives

• Define recursive methods


• Describe method calls in a recursion
• List differences in implementing recursion

Material /Sub Topics

8.1. Definition of Recursion [Ref1 : pg. 169 - 172]


8.2. Recursion and methods [Ref1 : pg. 172 - 174]
8.3. How a recursion call is executed? [Ref1 : pg. 174 - 178]
8.4. The implementation of recursion
8.4.1. Tail Recursion [Ref1 : pg. 178 - 179]
8.4.2. Nontail Recursion [Ref1 : pg. 179 - 184]
8.4.3. Indirect Recursion [Ref1 : pg. 185 - 187]
8.4.4. Excessive Recursion [Ref1 : pg. 188 - 191]

7
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103

Section 9 : Trees (09hrs)


Instructional Objectives

• Define trees structure


• Describe the properties of trees, binary trees
• Describe the implementation of trees
• Describe and Implement tree traversal techniques
• Explain how a tree is balanced
• Describe the ways of adjusting a tree
• Explain the usage of a heap

Material /Sub Topics

9.1. Trees, Binary trees and Binary search trees [Ref 1 : pg. 214 - 218]
9.2. Implementation of Binary trees [Ref 1 : pg. 219 - 221]
9.3. Searching a Binary search tree [Ref 1 : pg. 221 - 223]
9.4. Ways of traversing a tree [Ref 1 : pg. 223 - 231]
9.4.1. Breadth-First Traversal
9.4.2. Depth-First Traversal
9.4.3. Stackless Depth-First Traversal
9.5. Insertion and deletion [Ref 1 : pg. 239 - 246]
9.6. Balancing a tree [Ref 1 : pg. 249 - 260]
9.6.1. The DSW Algorithm
9.6.2. AVL Trees
9.7. Self-Adjusting trees [Ref 1 : pg. 260 - 267]
9.8. Heaps [Ref 1 : pg. 267 - 272]

Section 10 : Graphs (08hrs)


Instructional Objectives

• Define the different types of graphs and their usage


• Implement the primary graph operations
• Describe and implement the Graph Traversal techniques, Connectivity and
determination of Shortest Path

8
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103

Material /Sub Topics

10.1. Definition of different Graphs [Ref 1 : pg. 376 - 377]


10.2. Graph Representation [Ref 1 : pg. 377 - 379]
10.3. Graph Traversals [Ref 1 : pg. 379 - 382]
10.4. Shortest paths [Ref 1 : pg. 383 - 392]
10.5. Cycle Detection [Ref 1 : pg. 392 - 395]
10.6. Spanning Trees [Ref 1 : pg. 395 - 405]
10.7. Connectivity of graphs [Ref 1 : pg. 399 - 405]
10.8. Topological sort [Ref 1 : pg. 405 - 406]
10.9. Networks [Ref 1 : pg. 407 - 421]

Section 11 : Sorting and Searching Algorithms (11 hrs)


Instructional Objectives

• Define and describe selected searching and sorting Algorithms


• Implement selected searching and sorting Algorithms

Material /Sub Topics

11.1. Efficiency of Algorithms [Ref 1 : pg. 718 - 723]


11.1.1. Big O Notation
11.2. Searching algorithms [Ref 1 : pg. 221 – 223, Ref 2 : pg. 405 – 410, 503 - 518 ]
11.2.1. Binary search trees
11.2.2. B-trees
11.2.3. Breadth-First and Depth-First Search
11.2.4. Java Implementation
11.3. Sorting Algorithms [Ref 1 : pg. 470 - 501]
11.3.1. Insertion sort
11.3.2. Selection sort
11.3.3. Bubble sort
11.3.4. Shell sort
11.3.5. Merge sort
11.3.6. Quick sort
11.3.7. Heap sort
11.3.8. Radix sort
9
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103

11.3.9. Java Implementation

PLATFORM

Any standard PC (Pentium) with a standard Java Compiler (JDK 1.5 or above).
Note: Students are expected to use Java as the coding language for this module.

Activities -

Please refer to the activities given in the Learning Management System (LMS).

Assessment -

You will get two online assignments as Assignment Quiz 1 and Assignment Quiz 2.
The final exam will be conducted at the end of semester.

Examination Paper will consist of two parts.

• Part 1 : 1 Hour paper consisting of Multiple Choice Questions


• Part 2 : 1 Hour paper consisting of Structured Questions

Contact details -

e-Mail : IT4103@lms.bit.lk

10

Das könnte Ihnen auch gefallen