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