| TDP007 | 
          Computer Language Construction, 6 ECTS credits. 
									
            /Konstruktion av datorspråk/ 
								
								
			For:  
			
			
			
				IP  
			
			
 
  
							 | 
        
		 
        
		
		  |   | 
		  Prel. scheduled
		        hours: 44 
	        Rec. self-study hours: 116		  
 
  
		     | 
		  
		 
		
			|   | 
			
Area of Education: Technology
  
Main field of studies: Programming
  
			 | 
		
         
          |   | 
          Advancement level 
(G1, G2, A):   G1
 
								 
           | 
        
         
           | 
          Aim:  
								After the course the student should be able to:
- Explain and use regular expressions.
 
- Use tools for markup languages (e.g. XML).
 
- Use and modify a parser for a simple programming language.
 
- Describe and apply basic principles for programming language design.
 
  
								 
           | 
        
         
           | 
          Prerequisites: (valid for students admitted to programmes within which the course is offered)  
								Basic knowledge of object oriented programming
  
Note: Admission requirements for non-programme students usually also include admission requirements for the programme and threshhold requirements for progression within the programme, or corresponding.
  
           | 
        
         
         
           | 
          Organisation:  
								The course consists of interactive lectures, laborative exercies and seminars where the students' solutions will be discussed. 
								 
           | 
        
         
           | 
          Course contents:  
								Craft: Ability to design a notation for a specific type of use or system. Ability to define and implement own notations to facilitate development and use, e.g. meta data and scripts.
Topics: Structure and implementation of programming langauges.
Abstraction and the role of abstraction in programming languages. Basic principles of interpreter design. Regular expressions and finite automatons. Syntactic parsing. Abstract syntax trees. Overview of different types of computer languages.
 Techniques: Ruby, Emacs, with short orientation in some other tools.  
								 
           | 
        
         
           | 
          Course literature:  
								Thomas, Dave et.al. (2009) Programming Ruby 1.9: The Pragmatic Programmer's Guide. 
								 
           | 
        
         
           | 
          Examination: | 
        
        
				
			 | 
			Computer examination Laboratory work   | 
			
			  4 ECTS    2 ECTS                  
 | 
		
        
		    |   | 
		
         
           | 
           | 
        
 
         
           
         
		 
		
            Course language is Swedish. 
Department offering the course: IDA.  
Director of Studies: Peter Dalenius 
Examiner: Peter Dalenius 
       Link to the course homepage at the department 
					 
      
             
            Course Syllabus in Swedish
								 
           |