1 Bİ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
2 Overview 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
3 Bİ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.
4 C Programming Language The course is taught using the C Programming LanguageEmphasis of course on fundamental concepts which are language independent.
5 So 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
6 Stages 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.
7 Focus 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.
8 Using 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...
9 Beyond 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
10 The 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
11 Tips 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!
12 ReferencesTextbook: “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ı