Lab Manual for System Software Operating systems and system

advertisement

Lab Manuals for System Software,

Data Structures, Databases and

Artificial Intelligence

Prof. dr Slobodanka Đorđević-Kajan

D r Dragan Stojanović

Doc. dr Leonid Stoimenov

Faculty of Electronic Engineering Niš

Lab Manual for System Software

Operating systems and System programming

Prof. dr Slobodanka Đorđević-Kajan

D r Dragan Stojanović

Dipl. Ing Aleksandar Stanimirović

Dipl. Ing Bratislav Predić

Faculty of Electronic Engineering Niš

Overview

 Provides hands-on learning by allowing students to work on system programs that implement the concepts learned in lectures and primary text readings.

 Contains key operating system and system programming concepts for

UNIX/Linux and Windows XP/2000

Content

Part I: UNIX/Linux operating system underlying concepts and algorithms and system programming using POSIX and proprietary UNIX system calls

Part II: Windows XP/2000 concepts and system programming using Win32 API

Appendixes

Software development tools in UNIX/Linux (gcc, make, gdb, emacs)

Software development tools in Windows (Visual Studio)

References and important links

Part I: UNIX/Linux

Chapter 1, UNIX/Linux operating systems

Chapter 2, Review the state of the system

Chapter 3, File system

Chapter 4, Processes and Threads

Chapter 5, Process and Thread Synchronization

Chapter 6, Interprocess communication

Chapter 7, Memory management

Chapter 8, Advanced U/I

Chapter 9, Network programming

Projects

Part II: Windows XP/2000

Chapter 1, Windows operating system internals

Chapter 2, Review the state of the system

Chapter 3, File system

Chapter 4, Processes and Threads

Chapter 5, Process and Thread Synchronization

Chapter 6, Interprocess communication

Chapter 7, Memory management

Chapter 8, Advanced U/I

Chapter 9, Network programming

Projects

Every chapter contains

 Goals

 Foundations of the topic

 Definition of the system calls and API functions

 Programming examples and applications

 Laboratory exercises

Conclusions

Contains necessary information for the preparation and performing of System Software laboratory exercises for

UNIX/Linux and Windows XP/2000.

Includes numerous examples of UNIX system calls and

Win32 API functions and complete program code implementing more complex problems within the operating systems topics

Useful for lab practicing, better understanding of the

System software topics and preparing written and oral exams on Operating systems and System programming

Lab Manual for Artificial

Intelligence

Prof. dr Slobodanka Đorđević-Kajan

Doc. dr Leonid Stoimenov

Dipl. Ing Aleksandar Milosavljević

Faculty of Electronic Engineering Niš

Overview

 Presents basic artificial intelligence (AI) concepts and techniques and their use in development of software systems.

 Provides practical approach to artificial intelligence techniques, with lot of Lisp code, implementation details and practical programming advices.

Content

Chapter 1, Programming languages of Artificial intelligence,

Chapter 2, Intelligent agents,

Chapter 3, Solving problem as Searching,

Chapter 4, Predicate Logic,

Chapter 5, Production Systems,

Chapter 6, Frames,

Chapter 7, Machine Learning,

Chapter 8, Neural networks,

References

Every chapter contains

 Basic concepts and principles of the topic covered

 Description of the AI programming environment, system and/or language used

 Useful functions and illustrative programming examples

 Lab exercises

Conclusion

Written primarily for students, containing information needed for discovering artificial intelligence principles and techniques and their use in implementation of software systems.

Reader of this book can learn about Lisp programming in general, and find particular information about knowledge representation formalism and machine learning techniques.

Useful for teachers in AI. Chapters provide an in-depth discussion of artificial intelligence principles and practices.

Useful as manual for lab exercises, but also as an introductory book of AI principles and programming in an

Artificial intelligence course.

Lab Manual for Data structures

Prof. dr Slobodanka Đorđević-Kajan

Doc. dr Leonid Stoimenov

Ass. mr Aleksandar Dimitrijević

Faculty of Electronic Engineering Niš

Overview

 Presents basic data structures and their use in development of software systems.

 Illustrated with memory representations of all described structures and contains complete program code implementing their functionality.

Content

Chapter 1, Introducing Java

Chapter 2, Arrays

Chapter 3, Linked lists

Chapter 4, Stack, Queue and Deque

Chapter 5, Hash tables

Chapter 6, Trees

Chapter 7, Graphs

Every chapter contains

Goals

Definitions

Theory

Graphical and memory representation of the structure

Examples and applications

Implementation (in Java programming language)

Questions

Laboratory assignments

Projects

Definitions

Illustrations

Graphical representation

Matrix representation

Memory representation

Code

Classes

Names

.

.

.

.

.

Methods

Explanation

Code reference

Code example

Programski kod 3.7

public class IntSkipListNode { public int info; public IntSkipListNode[] link;

} public IntSkipListNode(int i, int n) { info = i; next = new IntSkipListNode[n]; for (int j = 0; j < n; j++) link[j] = null;

}

Čvor celobrojne liste sa preskokom

Conclusions

Numerous illustrations of basic data structures and complete program code implementing their basic functionality are useful not only for lab practicing, but also for better understanding of the matter and preparing written and oral exams.

Useful as manual for lab exercises in Data structures, but also as an auxiliary book for courses concerning data structures and programming.

Lab Manual for Databases

Prof. dr Slobodanka Đorđević-Kajan

Doc. dr Leonid Stoimenov

Faculty of Electronic Engineering Niš

Overview

 Devoted to students of the Computer

Science and Informatics for the Database course.

 Contains basic information for students about databases, database modeling, and querying databases using Oracle DBMS and Oracle SQL

Content

Chapter 1, Data models and databases review

Chapter 2, Database schema development

Chapter 3, Oracle DBMS

Chapter 4, Introduction to SQL query language

Chapter 5, Embedded SQL and Oracle Pro*C/C++

Appendixes:

Syntax of SQL SELECT statement

Oracle catalog and Oracle data dictionary

Oracle Date and Time data type

List of Embedded SQL Statements Supported by Pro*C

Data in SQLCA structure

Conclusions

 Intended for supplementary readings in basic courses in the DB field, presenting review of practical, essential and fundamental concepts.

 Useful as manual for lab exercises i

Databases, but also as an introductory book of database principles using Oracle

DBMS in a Databases course.

Download