Course Information

INFO2410 Fundamental Data Structures

COURSE CODE:       INFO 2410

COURSE TITLE:       Fundamental Data Structures

CREDITS:                    4

LEVEL:                         2

PRE-REQUISITES: INFO 2420

COURSE DESCRIPTION:

This course covers the major data structures used in programming. The properties of the various data structures are studied as well as their appropriate use for different applications.  In-memory data structures as well as structures for file organizations are considered.

COURSE RATIONALE:

Students will build upon the introductory programming course at level 1 to become more proficient computer programmers

CONTENT:

1. Primitive types

2. Arrays

3. Records

4. Strings and string processing

5. Data representation in memory

6. Pointers and references

7. Linked structures

8. Hashing function

9. Use of stacks, queues

10. Use of graphs and trees

11. Strategies for choosing the right data structure

LEARNING OUTCOMES:

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

  • Explain the use of primitive data types and built-in data structures.
  • Describe common applications for each data structure in the topic list.
  • Write programs that use each of the following data structures: arrays, records, strings, linked lists, stacks, and queues.
  • Choose the appropriate data structure for modeling a given problem.
  • Describe and use simple hash functions.

ASSESSMENT:

Method of Evaluation

Percentage of Grade

Restriction

Coursework

        3 Assignments (20%)

 (programming assignments)

 

        2 1-hr written Examinations (20%)

 

40 %

 

Final Examination

     One 2-hours written paper

     (Covers entire course – all           

       lectures, readings and  

       tutorials.)

 

60%

Fail Theory Regulation

Students must get a passing grade on final examination to pass the course.

TEACHING STRATEGIES:

The course is delivered using a combination of lectures; practical lab sessions and online activities delivered using the myElearning system such as forum discussions and online quizzes.

RESOURCES:

1. Lafore Robert. 2002. Data Structures & Algorithms in Java. 2nd Ed. SAMS. ISBN: 0672324539.

2. Mark Allen Weiss. 2011. Data Structures and Algorithm Analysis in Java, 3rd Ed. Addison Wesley. ISBN: 0132576279.

COURSE CALENDAR:

TIME PERIOD

TOPIC

WEEK 1

Primitive types

WEEK 2

Arrays

WEEK 3

Records

WEEK 4

Strings; Assignment 1

WEEK 5

Data representation in memory

 

WEEK 6

Pointers and references; Assignment 2

WEEK 7

 

Linked Lists; Exam 1

WEEK 8

Hashing

WEEK 9

Stacks & Queues

WEEK 10

Stacks & Queues; Exam 2

WEEK 11

Graphs & Trees; Assignment 3

WEEK 12

Graphs & Trees

WEEK 13

Revision