26
Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr Leonid Stoimenov Faculty of Electronic Engineering Niš

Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

Embed Size (px)

Citation preview

Page 1: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

Lab Manuals for System Software, Data Structures, Databases and

Artificial IntelligenceProf. dr Slobodanka Đorđević-Kajan

Dr Dragan Stojanović

Doc. dr Leonid Stoimenov

Faculty of Electronic Engineering Niš

Page 2: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

Lab Manual for System Software Operating systems and System programming

Prof. dr Slobodanka Đorđević-Kajan

Dr Dragan Stojanović

Dipl. Ing Aleksandar Stanimirović

Dipl. Ing Bratislav Predić

Faculty of Electronic Engineering Niš

Page 3: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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

Page 4: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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

Page 5: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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

Page 6: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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

Page 7: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

Every chapter contains

Goals Foundations of the topic Definition of the system calls and API

functions Programming examples and applications Laboratory exercises

Page 8: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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

Page 9: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

Lab Manual for Artificial Intelligence

Prof. dr Slobodanka Đorđević-Kajan

Doc. dr Leonid Stoimenov

Dipl. Ing Aleksandar Milosavljević

Faculty of Electronic Engineering Niš

Page 10: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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.

Page 11: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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

Page 12: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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

Page 13: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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.

Page 14: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

Lab Manual for Data structures

Prof. dr Slobodanka Đorđević-Kajan

Doc. dr Leonid Stoimenov

Ass. mr Aleksandar Dimitrijević

Faculty of Electronic Engineering Niš

Page 15: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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.

Page 16: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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

Page 17: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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

Page 18: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

Definitions

Page 19: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

Illustrations

Graphical representation

Memory representation

Matrix representation

Page 20: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

CodeClasses

Methods

.

.

.

.

.

ExplanationNames

Codereference

Page 21: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

Code example

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; }}

Programski kod 3.7

Čvor celobrojne liste sa preskokom

Page 22: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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.

Page 23: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

Lab Manual for Databases

Prof. dr Slobodanka Đorđević-Kajan

Doc. dr Leonid Stoimenov

Faculty of Electronic Engineering Niš

Page 24: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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

Page 25: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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

Page 26: Lab Manuals for System Software, Data Structures, Databases and Artificial Intelligence Prof. dr Slobodanka Đorđević-Kajan Dr Dragan Stojanović Doc. dr

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.