BBS 516 - Veri yapıları ve Algoritmaları

Ders: Salı 18:00-20:45 @D6


Ders Sorumlusu:

Adnan Ozsoy

aozsoy@cs.hacettepe.edu.tr
Z08
+90-312-780-7510

Ders İçeriği

Veri Yapıları ve Algoritmalar, program tasarımında çoğu zaman eksikliği hissedilen önemli bir konu; yalnız başına bir programlama dili bilmek, program geliştirmeye yetmemektedir. Bu ders, C programlama diline dayanılarak çeşitli veri yapıları ve modellerini ele almakta, onlara ait programın algoritmik ifadesini incelmektedir.
Program/yazılım geliştiren, iş dünyasına yönelik yazılım tasarımları yapan, matematik ve mühendislik problemlerini bilgisayar ortamında modellemek isteyen her düzeyden programcı veya yazılımcılar için bir derstir.
Derste, giriş seviyesinde programlama yapma yeteneği kazandırılır. Algoritma kurma mantığı anlatılarak özellikle Yöneylem Araştırması ve Üretim Yönetimi alanlarına gerek teorik ve gerekse bilgisayar programlama açısından bir zemin sağlanmaya çalışılır.

Ders Kaynakları

Fundamentals of Data Structures in C. Ellis Horowitz and Sartaj Sahni, 1993.
Data Structures A Pseudocode Approach with C. Richard F. Gilberg, Behrouz A. Forouzan
Data Structures and Algorithm Analysis in C++. Mark Allen Weiss.
Problem Solving and Program Design in C, 7th Edition. Jeri Hanly and Elliot Koffman, Pearson, 2013
The C Programming Language, 2nd Edition. Brian Kernighan and Dennis Ritchie, Prentice Hall, 1988
Practical C Programming 3rd Edition. Steve Oualline, O'Reilly Media, 1997
Programming in ANSI C, Ram Kumar and Rakesh Agrawal, West Publishing Company, 1992.

Grading

  • 30% Ara Sınavı
  • 30% Projeler - 3/4 proje dönem boyunca
  • 40% Final Sınavı

Program

-->
Hafta Gün Konu
1 Feb 11 Introduction
2 Feb 18 Analysis of Algorithms
3 Feb 25 Multidimensional Arrays
4 Mar 3 Stacks and Queues
5 Mar 10 Sorting 1
6 Mar 17 Sorting 2
7 Mar 24 Midterm
8 Mar 31 Expressions, Multiple Stacks
9 Apr 7 Linked lists 1
10 Apr 14 Linked lists 2
11 Apr 21 Searching
12 Apr 28 Trees 1
13 May 5 Trees 2
14 May 12 Wrap-up

İletişim:

The course webpage : http://web.cs.hacettepe.edu.tr/~aozsoy/teaching/

Webpage will be updated regularly throughout the semester with lecture notes, programming and reading assignments and important deadlines. All other course related communications will be carried out through Piazza. Please enroll it by following the link

https://piazza.com/hacettepe.edu.tr/spring2016/bbs516/home

Policies:

Attendance to lectures is required. You are responsible for all material presented in lecture. Some of the course material might not be covered in the textbook.

All work on assignments must be done individually unless stated otherwise. You are encouraged to discuss with your classmates about the given assignments, but these discussions should be carried out in an abstract way. That is, discussions related to a particular solution to a specific problem (either in actual code or in the pseudocode) will not be tolerated.

In short, turning in someone else’s work, in whole or in part, as your own will be considered as a violation of academic integrity. Please note that the former condition also holds for the material found on the web as everything on the web has been written by someone else.

© 2016 Hacettepe University