1BİL 133 – Algoritma ve Programlama I Güz DönemiBİL 133 – Algoritma ve Programlama IÖğr. Gör. Dr. Selim BAYRAKLISunum Sahibi: Öğr. Gör. Okan VARDARLI
2Overview and WelcomeTextbook: Problem Solving and Program Design in C, J. R. Hanly, E. B. Koffman, PearsonReference Materials:C Dersi-Programlamaya Giriş, N.E. Çağıltay, C.F. Selbes, G. Tokdemir, Ç. Turhan, Seçkin YayıneviC Dersi-Çözümlü Problem Kitabı, N.E. Çağıltay, C.F. Selbes, G. Tokdemir, Ç. Turhan, Seçkin YayıneviC How to Program, Deitel & Associates, Pearson (Türkçesi Sistem Yayınları)Algoritma Geliştirme ve Programlamaya Giriş, Fahri Vatansever, Seçkin YayıncılıkPurpose: Give the students a decent feeling for what the course covers and how it’s organized.Su00 tvi: reorganized to try to get a more coherent sequence. Old version bounced back and forth between concepts and course organization details. Added topic outline slides to break up into sections. Still not perfect, but I think this flows a bit better. This includes all the old slides, which fills a 50 min. hour and can be rushed if one is not careful. Maybe room to delete something.Formatting is completely chaotic. I tried to clean it up a bit.Note: Since students do not have course packets the first day, it would be good to reproduce these slides as a handout, along with the general information handout we’ve used in the past.HP
3BİL 133 – Algoritma ve Programlama Objectives of the CourseThe course introduces the fundamental concepts of procedural programming. Emphasis is on data types, control structures, functions, arrays, and the mechanics of running, testing, and debugging computer programs. The course starts with an overview of computer systems and surveys main concepts of the computing as a discipline.
4C Programming Language The course is taught using the C Programming LanguageEmphasis of course on fundamental concepts which are language independent.
5So What is Programming Like? It’s really hard to describe!Many similarities to solving “word problems” in mathTranslate a problem description into a formal solutionSymbol manipulation an integral partSome people describe it as “puzzle solving”A mix of high-level creativity and low-level picky detailsAdded blank lines between bullets
6Stages of Problem Solving Ultimate goal: use a computer to solve a problemTypical stages of building a solution:Clearly specify the problemAnalyze the problemDesign an algorithm to solve the problemImplement the algorithm (write the program)Test and verify the completed programMaintain and update the programThe word "debug" (and "bug") might be new to students.
7Focus All stages are important In this course, we ignore none of them But we focus on:Algorithm developmentWriting a program to implement the algorithmThe word "debug" (and "bug") might be new to students.
8Using the Lecture Notes Not everything on the slides will be read aloud by the speakerNot everything the speaker says will be on the slidesYou need both! And then some...
9Beyond the LecturesYou won’t learn programming by watching the lectures as might you watch a TV programThe ability to ask questions and get them answeredA textbook you can use for details and examples not in the lecturesAnd most important: hands-on practice
10The Importance of Practice You wouldn’t expect to learn to play the guitar just by watching a TV series on itThere is no substitute for practice. And no one can do it for youThe same holds for learning to program
11Tips for Success Take the material in order With rare exceptions:you can’t skip any lectureyou can’t take material out of orderMaster each topic before continuing to the nextSeek help if you get behindPractice, practice, practice!
12ReferencesTextbook: “Problem Solving and Program Design in C” - Hanly and Koffman, 3rd Edition, Addison-WesleyLecture slides,Problem Solving with C++, Walter Savitch slides (Pearson)Glossary and problem solving docsHistory and number representationYrd. Doç. Dr. Ali Akman’ın ders notları