Beruflich Dokumente
Kultur Dokumente
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
OUTLINE OF SYLLABUS
Topic Hours
7- Linked Lists 04
8- Recursion 07
1
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103
9- Trees 09
10- Graphs 08
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:
• 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
5
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103
Instructional Objectives
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
7
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103
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]
8
BIT Year 2 – Semester 4 – Detailed Syllabi IT4103
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.
Contact details -
e-Mail : IT4103@lms.bit.lk
10