Fundamentals of Computer Software

Jun16

Course No.:11120152
TitleFundamentals of Computer Software
Class Hours/Week:  1.5-1 Credit:2
CategorySpecialty
PrerequisitesFundamental of program design&practice
AudienceUndergrates
Teaching mannerMultimedia
Course objectives and basic requirements:
Students who complete the course should be able to demonstrate the abilities of doing the following:
1. Argue the correctness of algorithms and analyze performance of algorithms.
2. Explain the basic properties of an algorithms and methods for analyzing them.
3. Explain the major algorithms for sorting, searching. Keep in mind the analyses of these algorithms and the design strategies that the algorithms embody.
4. Explain the major elementary data structures for implementing dynamic sets and the analyses of operations performed on them. Familiar with algorithms that employ data structures.
5. Explain the parallel program technology and its design rule.
Course introduction:
Two parts are included in this course:
1. Basic algorithms and elementary data structures. Including linear list, stack, heaps, trees, tries, and hashing, graphs and its representation, depth-first-search and breadth-first search algorithms and how their performance depends on the choice of data structure. Synthesize new data structures by augmenting existing data structures.
2. The parallel program technology. Including concept of Process and thread,it’s status and scheduler, basic Process synchronization and Programming, deadlock and it’s prevention.
Syllabus and lecture schedule:
1. Introduction to algorithm and data structures analysis.                           ( 2 class hours)
2 Linked list                                                                                               ( 1 class hour)
3 Queue and Stack                                                                                       ( 2 class hours)
4 Trees and Binary Trees                                                                              ( 6 class hours)
5 Graphs                                                                                                     ( 5 class hours)
6 Sorting                                                                                                    ( 3 class hours)
7 Searching                                                                                                ( 2 class hours)
8 Parallel Programming Technology and its Design Rule                                 ( 3 class hours)
Lab Session:
Written Assignments and Programming Assignments                                            (16 class hours)
Test and Grading Criteria
Programming Assignments                                                                               30%
Final Exam                                                                                                     70%
Suggested textbooks or references:

Liu Yanming. Fundamentals of Computer Software, Xidian University Press, 2001