19300101        
        
          Lecture        
      
      SoSe 17: Object oriented Programming
Claudia Müller-Birn, Barry Linnert
Additional information / Pre-requisites
Prerequisites
background as taught in the class "Functional Programming".
Please also sign up for the class in our KVV.
closeComments
Contents
- foundations of computability: 
- universal register machines
 - syntax and operational semantics of imperative programming languages
 
 - formal methods for the specification and verification of imperative programs: 
- assertions,
 - Hoare-calculus, partial correctness, termination
 
 - imperative and object-oriented programming concepts (Java): 
- primitive and composite data types,
 - methords (procedures and functions). calling conventions, overloading
 - modules, classes, objects
 - class hierarchies, inheritance, polymorphism
 - abstract classes, interfaces
 
 - programming methods: 
- stepwise refinement
 - divide and conquer
 - backtracking
 
 - analysis of time and space requirements: 
- O-notation
 - recursion and iteration
 - analysis of algorithms for sorting and searching
 - algorithms, data structures, data abstraction
 
 
https://www.mi.fu-berlin.de/inf/groups/hcc/teaching/Sommersemester-2017/ALP2.html
closeSuggested reading
- Concepts of Programming Languages, Robert Sebesta, Pearson Education , 10th Edition, 2012, ISBN: 0131395319
 - Data Structures & Problem Solving Using Java, Mark Allen Weiss, Addison Wesley, 4. Auflage, 2010, ISBN: 0-321-54140-5
 - Cormen, Leiserson, Rivest: Introduction to Algorithms, 3. Auflage 2009,
 - Bundle of algorithms in java, third edition, parts 1-5. Sedgewick Robert und Michael Schidlowsky. Addison-Wesley Longman, Amsterdam. 2003.
 
24 Class schedule
Additional appointments
Wed, 2017-07-19 12:00 - 14:00Klausur
    
    
    
          
          
            
              Wed, 2017-10-11 12:00 - 14:00            
                Nachklausur
    
    
    
          
          
            
              Fri, 2017-10-20 12:00 - 14:00            
                Klausureinsicht
    
    
    
          
          Regular appointments
                  
                    
                      Wed, 2017-04-19 12:00 - 14:00                    
                        
    
    
                  
                  
                    
                      Wed, 2017-04-26 12:00 - 14:00                    
                        
    
    
                  
                  
                    
                      Wed, 2017-05-03 12:00 - 14:00                    
                        
    
    
                  
                  
                    
                      Wed, 2017-05-10 12:00 - 14:00                    
                        
    
    
                  
                  
                    
                      Wed, 2017-05-17 12:00 - 14:00                    
                        
    
    
                  
                  
                    
                      Wed, 2017-05-24 12:00 - 14:00                    
                        
    
    
                  
                  
                    
                      Wed, 2017-05-31 12:00 - 14:00                    
                        
    
    
                  
                  
                    
                      Wed, 2017-06-07 12:00 - 14:00                    
                        
    
    
                  
                  
                    
                      Wed, 2017-06-14 12:00 - 14:00                    
                        
    
    
                  
                  
                    
                      Wed, 2017-06-21 12:00 - 14:00                    
                        
    
    
                  
                  
                    
                      Wed, 2017-06-28 12:00 - 14:00                    
                        
    
    
                  
                  
                    
                      Wed, 2017-07-05 12:00 - 14:00                    
                        
    
    
                  
                  
                    
                      Wed, 2017-07-12 12:00 - 14:00                    
                        
    
    
                  
                
              
                  
                    
                      Mon, 2017-04-24 14:00 - 16:00                    
                        
    
    
                  
                  
                    
                      Mon, 2017-05-08 14:00 - 16:00                    
                        
    
    
                  
                  
                    
                      Mon, 2017-05-15 14:00 - 16:00                    
                        
    
    
                  
                  
                    
                      Mon, 2017-05-22 14:00 - 16:00                    
                        
    
    
                  
                  
                    
                      Mon, 2017-05-29 14:00 - 16:00                    
                        
    
    
                  
                  
                    
                      Mon, 2017-06-12 14:00 - 16:00                    
                        
    
    
                  
                  
                    
                      Mon, 2017-06-19 14:00 - 16:00                    
                        
    
    
                  
                  
                    
                      Mon, 2017-06-26 14:00 - 16:00                    
                        
    
    
                  
                  
                    
                      Mon, 2017-07-03 14:00 - 16:00                    
                        
    
    
                  
                  
                    
                      Mon, 2017-07-10 14:00 - 16:00                    
                        
    
    
                  
                  
                    
                      Mon, 2017-07-17 14:00 - 16:00                    
                        
    
    
                  
                
              
Contents
foundations of computability: universal register machines syntax and operational semantics of imperative programming languages formal methods for the specification and ... read more