DAB702 - Object-oriented Software Engineering

Contact Person
Jesper Andersson
Telephone: +46 470 70 84 60
Telefax: +46 470 840 04
E-mail: jesper.andersson@vxu.se
School of Mathematics and Systems Engineering

September, 2006–January, 2007
and January–June, 2007
10 credit points (15 ECTS)

The aim is to introduce the student to object orientation in general, provide basic skills in an object-oriented modelling technique and programming language, and create a foundation for further studies in the area of software engineering.

Contents

  • Introduction to object orientation
  • Object-orientation analysis and design in UML
  • Object-oriented programming in Java
  • Process models
  • State-of-the-art development methodologies
  • Verification and validation
  • Software development techniques, such as reuse
  • Project-oriented practical work

Recommended reading
Not yet decided.

Prerequisites
A basic course in Computer Science (including a procedural programming language).


DAB713 - Data Security

Contact Person
Ola Flygt
Telephone: +46 470 70 86 49
Telefax: +46 470 840 04
E-mail: ola.flygt@vxu.se
School of Mathematics and Systems Engineering

January–March, 2007
5 credit points (7.5 ECTS)

This is a course in Data Security with a special emphasis on Network Security. The idea is to give a good coverage of threats against computers on a network and the methods to thwart them.

Contents
Evaluation of Data Security, Encryption and Coding Techniques, Authentication Standards and Applications, Electronic Mail Security, IP Security, Web Security, Network Management Security, Intruders and Hackers, Malicious Software, Firewalls.

Recommended reading
Stallings W., Network Security Essentials: Applications and Standards, 2nd Ed., Prentice Hall, 2003.

Teaching methods
Lectures in which the theory will be presented in combination with practical problems where the theory will be tested.

Prerequisites
A basic course in Data Communication (TCP/IP).

Assessment methods
Written exam and/or presentation of practical work.


DAB721 - Modern Computer Design and Architecture

Contact Person
Ola Flygt
Telephone: +46 470 70 86 49
Telefax: +46 470 840 04
E-mail: ola.flygt@vxu.se
School of Mathematics and Systems Engineering

April–June, 2007
5 credit points (7.5 ECTS)

The aim of the course is to provide a good understanding of different computational models. We will cover instruction-level parallelism as well as parallel architectures. Practical work is part of the course. In the course we study modern architectures with a special emphasis on parallel architectures.

Contents
Traditional computer organisation, instruction sets and data types, RISC, SIMD, MIMD, MPI and parallel algorithms.

Recommended reading
Sima, Fountain & Karsuk, Advanced Computer Architectures: A Design Space Approach, Addison-Wesley, 1997.

Teaching methods
Lectures in which the theory will be presented in combination with practical problems where the theory will be tested.

Prerequisites
A basic course in Computer Science.

Assessment methods
Written exam and/or presentation of practical work.


DAB724 - Human-Computer Interaction

Contact Person
Nicholas Pagden
Telephone: +46 470 70 84 70
Telefax: +46 470 840 04
E-mail: nicholas.pagden@vxu.se
School of Mathematics and Systems Engineering

April–June, 2007
5 credit points (7.5 ECTS)

The course will describe different concepts concerning the design of interaction between humans and computers. The student will acquire a knowledge of and experience in essential parts of interaction design.

Contents
Factors that are handled are the human perspective, technical possibilities, design methods and support, prototyping and user testing.

Recommended reading
Not yet decided.

Prerequisites
A fundamental course in Computer Science (including programming), corresponding to 10 credit points (15 ECTS).


DAB726 - Computer Graphics

Contact Person
Gösta Sundberg
Telephone: +46 470 70 86 33
Telefax: +46 470 840 04
E-mail: gosta.sundberg@vxu.se
School of Mathematics and Systems Engineering

September–October, 2006
5 credit points (7.5 ECTS)

The aim is to give an introduction to Computer Graphics and related topics.

Contents

  • Algorithms for 2D graphics
  • Graphics hardware and software
  • Input techniques
  • Geometric transformations in 2D and 3D
  • 3D projections and viewing
  • Curves and surfaces
  • Basic principles of 3D modelling
  • Colours

Recommended reading
Hearn-Baker, Computer Graphics, 3rd Ed., Prentice-Hall, 2004.

Prerequisites
Basic courses in Computer Science and Linear Algebra.

Assessment methods
Written exam and one major practical task.


DAB727 - Artificial Intelligence

Contact Person
Ola Flygt
Telephone: +46 470 70 86 49
Telefax: +46 470 840 04
E-mail: ola.flygt@vxu.se
School of Mathematics and Systems Engineering

November, 2006–January, 2007
5 credit points (7.5 ECTS)

The course has two main purposes. The first is to give an introduction to Artificial Intelligence (AI). What are the topics in AI? What types of systems are built?, et cetera. The second part is about programming languages for AI. We study the Prolog language in some detail. Small systems are developed in order both to learn the language and to test some theories from AI (for example search and representation).

Contents
Symbolic Programming, Representation and Logic, Search, Learning, Planning, Image Understanding, Natural Language Processing and Prolog.

Recommended reading
Callan Rob, Artificial Intelligence, Palgrave MacMillan, 2003.

Teaching methods
Lectures in which the theory will be presented in combination with practical problems where the theory will be tested.

Prerequisites
You need to know about algorithms, how to interpret and code them into a computer program. Programming experience in some programming language. You should especially be familiar with recursion. A basic knowledge of logic will also be helpful, but is not required.

Assessment methods
Written exam and/or presentation of practical work.


DAB728 - Computer Networks – an Introduction

Contact Person
Ola Flygt
Telephone: +46 470 70 86 49
Telefax: +46 470 840 04
E-mail: ola.flygt@vxu.se
School of Mathematics and Systems Engineering

November, 2006–January, 2007
5 credit points (7.5 ECTS)

The main idea of the course is to show the complex structure of communication models. TCP/IP is the main study example. Local area networks as well as wide area networks are studied. The course also includes network application development. Theoretical and practical work will follow in conjunction with each other.

Contents
ISO reference model for open system interconnection, TCP/IP, a number of standard communication protocols, public data networks and local area networks.

Recommended reading
Comer D., Computer Networks and Internets, 4th Ed., Prentice Hall, 2004.

Teaching methods
Lectures in which the theory will be presented in combination with practical problems where the theory will be tested.

Prerequisites
Basic courses in C-programming and Operating Systems.

Assessment methods
Written exam and/or presentation of practical work.


DAB742 - Computer Networks –Administration

Contact Person
Ola Flygt
Telephone: +46 470 70 86 49
Telefax: +46 470 840 04
E-mail: ola.flygt@vxu.se
School of Mathematics and Systems Engineering

January–March, 2007
5 credit points (7.5 ECTS)

This course covers how to set up and administrate a Local Area Network. The emphasis is on Network equipment like Switches and Routers, but Servers and Network Services are also considered. After the course you should have the knowledge to set up and maintain a fairly complex Local Area Network.

Contents
Network Planning, Network Wiring and Components, Network-Operating Systems, Configuration of Network Services, Routers, Network Management.

Recommended reading
Mikalsen A. & Borgesen P., Local Area Network Management, Design and Security: A Practical Approach , John Wiley & Sons Ltd, 2002.

Teaching methods
Lectures in which the theory will be presented in combination with practical problems where the theory will be tested.

Prerequisites
A basic course in Data Communication (TCP/IP).

Assessment methods
Written exam and/or presentation of practical work.


DAB752 - Algorithm Theory

Contact Person
Maria Karlsson
Telephone: +46 470 70 84 61
Telefax: +46 470 840 04
E-mail: maria.karlsson@vxu.se
School of Mathematics and Systems Engineering

November, 2006–January, 2007
5 credit points (7.5 ECTS)

The aim of the course is to get a deeper understanding of the analysis of algorithms, different algorithm design techniques and the theoretical and practical limitations of computing.

Contents
Asymptotical Notation, Sorting, Red-Black Trees, Dynamic Programming, Greedy Algorithms, Graph Algorithms, Undecidability, NP-hard Problems and Approximation Algorithms.

Recommended reading
Cormen, Leiserson, Rivest & Stein, Introductions to Algorithms, 2nd Ed., McGraw-Hill. Additional material provided at the start of the course.

Teaching methods
Lectures in which the theory will be presented in combination with practical problems where the theory will be tested.

Prerequisites
A basic course in Computer Science and Data Structures. A basic course in Algebra.

Assessment methods
Written exam and/or presentation of practical work.


DAC702 - Software Engineering II

Contact Person
Jesper Andersson
Telephone: +46 470 70 84 60
Telefax: +46 470 840 04
E-mail: jesper.andersson@vxu.se
School of Mathematics and Systems Engineering

January–June, 2007
10 credit points (15 ECTS)

The aim of this course is to introduce the students to advanced concepts in engineering. The course is project oriented.

Contents

  • Software architecture
  • Verification and validation
  • Project-oriented practical work

Recommended reading
Not yet decided.

Prerequisites
A basic course in object-oriented programming and modelling, and a basic knowledge of software engineering.


DAC718 - Compiler Design I

Contact Person
Jonas Lundberg
Telephone: +46 470 70 89 67
Telefax: +46 470 840 04
E-mail: jonas.lundberg@vxu.se
School of Mathematics and Systems Engineering

January–March, 2007
5 credit points (7.5 ECTS)

The aim of this course is to give an introduction to compiler design, theory and formalisms related to compilers, and compiler-related software technologies. The focus is on the compiler front end (lexical analysis, parsing, semantic analysis). The back end is presented briefly. (Optimisation and machine code generation are treated in Compiler Design II, DAD721.) The practical assignment is to implement a simple compiler for a small subset of Java using the JavaCC compiler generator.

Contents

  • Lexical Analysis
  • Syntax Analysis
  • Compiler Generators
  • Semantic Analysis
  • Attributed Grammars
  • Intermediate Representations
  • Code Generation
  • Stack Machine Interpretation

Recommended reading
Not yet decided.

Prerequisites
DAB702 (Object-Oriented Software Engineering) and some other documented experience of grammars, regular expressions, finite automata and the Java programming language.


DAC720 - Distributed Systems

Contact Person
Gösta Sundberg
Telephone: +46 470 70 86 33
Telefax: +46 470 840 04
E-mail: gosta.sundberg@vxu.se
School of Mathematics and Systems Engineering

January–March, 2007
5 credit points (7.5 ECTS)

The aim of this course is to give the student an introduction to the world of distributed systems and an overview of the possibilities and problems of this area. The focus of the course is the theoretical framework rather than existing technologies, but some case studies, of for instance middleware, are included.

Contents

  • Characteristics of distributed systems
  • Models of distributed systems
  • Communication in distributed systems
  • Middleware
  • Time and state: global states and state recording, logical clocks, causality and time
  • Distributed mutual exclusion and election
  • Replication
  • Fault tolerance in distributed systems

Recommended reading
Not yet decided.

Prerequisites

  • Introductory Computer Science, including logics (propositional and 1st order) and relations
  • Computer Networks
  • Operating Systems

DAC721 - Software Architectures

(This course is contained in DAC702)

Contact Person
Jesper Andersson
Telephone: +46 470 70 84 60
Telefax: +46 470 840 04
E-mail: jesper.andersson@vxu.se
School of Mathematics and Systems Engineering

January–March, 2007
5 credit points (7.5 ECTS)

The main objective of the course is to teach how to design, understand and evaluate complex software systems at an architectural level of abstraction.

Contents
Design principles, architectural styles, description of architectures, domain-specific software architectures, design patterns, formal methods for specification of architectures, case studies.

Recommended reading
Scientific articles.

Teaching methods
Lectures in which the theory will be presented in combination with practical problems where the theory will be tested.

Prerequisites
DAB702, Object-Oriented Software Engineering.

Assessment methods
Written exam and/or presentation of practical work.


DAC723 - Language Technology I

Contact Person
Joakim Nivre
Telephone: +46 470 70 89 92
Telefax: +46 470 840 04
E-mail: joakim.nivre@vxu.se
School of Mathematics and Systems Engineering

January–March, 2007
5 credit points (7.5 ECTS)

The aim of the course is to give students a basic knowledge of concepts and methods for automatic analysis and generation of natural language (natural language processing).

Contents

  • Regular expressions and automata
  • Corpus linguistics
  • Part-of-speech tagging
  • Parsing with context-free grammars
  • Feature- and unification-based grammars
  • Syntax-driven semantic analysis
  • Natural language generation

Recommended reading
Jurafsky D. & Martin J. H., Speech and Language Processing, Prentice-Hall, 2000.

Prerequisites
A basic course in Computer Science and a programming language course (or the equivalent).

Assessment methods
The course is assessed through practical lab sessions and an individual project reported in a term paper.


DAC724 - Mobile and Wireless Data Security

Contact Person
Ola Flygt
Telephone: +46 470 70 86 49
Telefax: +46 470 840 04
E-mail: ola.flygt@vxu.se
School of Mathematics and Systems

September–October, 2006
5 credit points (7.5 ECTS)

The course in Mobile and Wireless Data Security has the mobile user in focus. We will study both theory and practice on how to set up a secure system (including Clients, Servers and Network equipment).

Contents
System architecture for Wireless Networks, Wireless Networks (Bluetooth and WiFi), Authentication standards and products, Standards for encryption of data streams, Virtual Private Nets, Access and Storage security on mobile devices.

Recommended reading
Barken L., How Secure Is Your Wireless Network?: Safeguarding Your Wi-Fi LAN, Prentice Hall, 2003.

A number of additional books in the field, as well as scientific journals, will also be used.

Teaching methods
A large portion of the course is practical project work. Seminars about standards and solutions are also an important part of the course.

Prerequisites
A basic course in Data Communication (TCP/IP) and a course in Network Security. Recommended is also a course in Network Administration.

Assessment methods
Project presentations (written and oral), papers and active participation in seminars.


DAC725 - Programming Language Theory I

Contact Person
Gösta Sundberg
Telephone: +46 470 70 86 33
Telefax: +46 470 840 04
E-mail: gosta.sundberg@vxu.se
School of Mathematics and Systems Engineering

November, 2006–January, 2007
5 credit points (7.5 ECTS)

The aim is to provide some know-ledge of the principles of modern programming languages.

Contents

  • An overview of languages
  • Basic language theory
  • Basic programming language components
  • Different language paradigms

Recommended reading
Louden, Programming Languages – Principles and Practice, 2nd Ed., Brooks/Cole, 2003.

Prerequisites
A basic course in Computer Science (experience from at least one programming language) and in Operating Systems.

Assessment methods
Written exam, written report and practical assignments.


DAC730 - Bachelor Thesis

Contact Person
Mathias Hedenborg
Telephone: +46 470 70 86 38
Telefax: +46 470 840 04
E-mail: mathias.hedenborg@vxu.se
School of Mathematics and Systems Engineering

January–June, 2007
10 credit points (15 ECTS)

The course is required for a student who wishes to obtain a Swedish Bachelor’s degree. The aim of the course is to show that the student is able to write a thesis, individually or together with another student.

Contents
The thesis is the result of research connected to one of the areas within Computer Science. The subject is selected together with the examiner. During the course, a report-writing part is given in the form of lectures. The library is also involved in this course, guiding the students to use different applications in the search for literature connected to the defined problem.

Recommended reading
Relevant literature is selected together with the supervisor.

Teaching methods
The teaching consists of a few lectures and seminars.

Prerequisites
Students should have the equivalence of 50 credit points (75 ECTS) in Computer Science.

Assessment methods
Report-writing and oral presentations in seminars. The final thesis has to be defended at a seminar. The students are also required to act as opponents of another report.


DAC752 - 3D Graphics

Contact Person
Gösta Sundberg
Telephone: +46 470 70 86 33
Telefax: +46 470 840 04
E-mail: gosta.sundberg@vxu.se
School of Mathematics and Systems Engineering

January–March, 2007
5 credit points (7.5 ECTS)

The aim is to give the student a deeper knowledge of essential theories of 3D Computer Graphics, as well as the skill of program and model 3D applications.

Contents

  • Major 3D graphics concepts
  • Curved surfaces
  • Rendering methods
  • Ray-tracing
  • Radiosity
  • Textures
  • Animation
  • Solid modelling
  • Illumination models
  • Visualisation and VR
  • OpenGL and Java3D

Teaching methods
Lectures, seminars and laboratory work.

Recommended reading
Hearn-Baker, Computer Graphics, 3rd Ed., Prentice-Hall, 2004, as well as handouts and web pages.

Prerequisites
A basic course in Computer Graphics.

Assessment methods
Written papers, two major practical tasks and an oral presentation.


DAC753 - Parallel Programming in Distributed Systems

Contact Person
Gösta Sundberg
Telephone: +46 470 70 86 33
Telefax: +46 470 840 04
E-mail: gosta.sundberg@vxu.se
School of Mathematics and Systems Engineering

September–October, 2006
5 credit points (7.5 ECTS)

After finishing the course, the students are expected to be familiar with concurrent programming techniques, and they should be able to implement solutions for problems which require multiprocessor performance or even networked computers.

Contents
Concurrent programming concepts, Unix inter-process communication, threads, sockets, message-passing interface.

Teaching methods
Lectures, seminars and laboratory work.

Recommended reading
Handouts and web pages.

Prerequisites
A basic course in operating systems and some experience of programming in Java.

Assessment methods
Assignments and oral or written examinations.


DAC755 - Information Management Technologies

Contact Person
Jonas Lundberg
Telephone: +46 470 70 89 67
Telefax: +46 470 840 04
E-mail: jonas.lundberg@vxu.se
School of Mathematics and Systems Engineering

April–June, 2007 (may also be offered September–October, 2006. Please check the web for current information)
5 credit points (7.5 ECTS)

The aim of this course is to give an introduction to information management technologies like XML and related software technologies. Rather than focusing on a single specific application area, we try to give an overview of a set of “core technologies” that we consider useful in many different cases.In the first part we give an introduction to XML and related W3C technologies (e. g. XML Schema and XSLT). In the second part we show how to use an object-oriented programming language (Java) to write programs that build, manipulate and extract information from XML documents. In order to do that we introduce standard technologies like SAX and DOM.

Contents

  • XML and related W3C technologies
  • SAX, DOM and other technologies for manipulating XML documents
  • An XML-related software technology project

Recommended reading
Not yet decided.

Prerequisites
DAB702 (Object-oriented Software Engineering) or some other documented experience of the Java programming language. We do not expect any previous knowledge of XML and related technologies.


DAC792 - Scientific Visualization

Contact Person
Gösta Sundberg
Telephone: +46 470 70 86 33
Telefax: +46 470 840 04
E-mail: gosta.sundberg@vxu.se
School of Mathematics and Systems Engineering

April–June, 2007
5 credit points (7.5 ECTS)

The aim is to give basic knowledge about techniques and algorithms for visualizing scientific data, and practical experiences from the use of software tools for this.

Contents
Foundations of visualization, data representation, scalar and vector visualization, volume visualization, volume rendering, flow visualization, curve fitting, animation, visualization software tools.

Teaching methods
Lectures, seminars and practical work.

Recommended reading
Not yet decided.

Prerequisites
Basic courses in Computer Graphics, Algebra and Analysis.

Assessment methods
Written papers, practical assignments and an oral presentation.


DAD718 - Advanced Techniques for Program Analysis

Contact Person
Welf Löwe
Telephone: +46 470 70 84 95
Telefax: +46 470 840 04
E-mail: welf.lowe@vxu.se
School of Mathematics and Systems Engineering

November, 2006–January, 2007
5 credit points (7.5 ECTS)

The course gives an introduction to general program analysis techniques. It introduces standard and advanced analysis techniques of programs.

Contents
The first part deals with software metrics as a general technique and its application in development and reengineering processes.The second part introduces design patterns and anti-patterns and their use in detecting connectors and design flaws in systems.The third part introduces different techniques of grouping classes into components. We will discuss dominance analysis, concept-lattice-based approaches and metric-based groupings.Finally, we sketch techniques of software visualisation required to comprehend the results of the aforementioned techniques.

Recommended reading
We rely on handouts of slides and technical papers covering the individual topics. Moreover, we will introduce the Recoder Tool as the basis of the assignments. The download as well as a tool introduction will be available here.

Prerequisites
A basic knowledge of compiler construction.

Assessment methods
Assignments and/or oral or written examinations.


DAD719 - Software from Components

Contact Person
Welf Löwe
Telephone: +46 470 70 84 95
Telefax: +46 470 840 04
E-mail: welf.lowe@vxu.se
School of Mathematics and Systems Engineering

September–October, 2006
5 credit points (7.5 ECTS)

The course gives an idea of programming with predefined components. It shows the benefits of this style of software development and also the current problems. It distinguishes the state of the art in the software industry and in academia.

Contents
The course starts with a discussion of software design with reuse and software design for reuse. It introduces the problems solved by component-based software, namely the remote and language transparency of systems. It discusses historical approaches to solving these problems, like modular and object-oriented programming, and their shortcomings. Then it introduces classic component approaches and systems: Java Beans, Com, Corba, DCom and Enterprise Java Beans. It discusses their achievements as well as their shortcomings. It proceeds with comparing the classic systems with newer ideas on the same level of abstraction, like XML/Java technology and Microsoft.NET.

Thereafter it introduces more advanced (but still academic) approaches like generative and aspect-oriented programming. It provides an idea of architectural systems.

The course concludes with a discussion of meta-programming as the technical basis of many of the above architectures and techniques.

Recommended reading
Quite a few books can be recommended. The intention is not to follow one particular textbook. The suggestion is rather to use the lectures as an index to single chapters of books and to relevant articles handed out during the course.

Prerequisites
A basic knowledge of object-oriented software construction.

Assessment methods
Assignments and/or oral or written examinations.


DAD720 - Programming Languages Theory II

Contact Person
Welf Löwe
Telephone: +46 470 70 84 95
Telefax: +46 470 840 04
E-mail: welf.lowe@vxu.se
School of Mathematics and Systems Engineering

January–March, 2007
5 credit points (7.5 ECTS)

The course gives a background to programming languages. It shows how to specify formal languages and provides a uniform view of different languages and paradigms. It is no programming course for a specific language.

Contents
General paradigms of programming languages are discussed. We especially discuss typing as a fundamental aspect of (almost) all programming languages.

Functional programming: We show the theoretic background leading to functional programming languages.

Logic programming: We start from theory going down to practice: Herbrand Universes, general Resolution, SLD Resolution and Prolog. This part concludes with the connecting of logic programming with rational databases by discussing Datalog.

Object-oriented programming: Starting from an object calculus, it goes on to giving the taxonomy of polymorphism – subtyping and genericity – and classifying type systems of object-oriented languages accordingly.

The final part will discuss language (semantics) definitions. We discuss operational, denonational and axiomatic methods.

Recommended reading
Handouts and scientific articles.

Prerequisites
A basic knowledge of object-oriented software construction.

Assessment methods
Assignments and/or oral or written examinations.


DAD721 - Compiler Construction II

Contact Person
Welf Löwe
Telephone: +46 470 70 84 95
Telefax: +46 470 840 04
E-mail: welf.lowe@vxu.se
School of Mathematics and Systems Engineering

September–October, 2006
5 credit points (7.5 ECTS)

The course gives a background to compiling and optimising programs. It discusses basic program analysis and transformation techniques not only applicable to compilation, but also to reverse engineering and software maintenance.

Contents
This course requires a knowledge of compilers as provided by the Compiler Construction I course (DAC718) or similar documented knowledge. We assume an understanding of compilers and the theoretical background to lexical and syntax analysis.

The first part shows the theory behind the semantic analysis. We discuss Attributed Grammars (AG), their subclasses and the computational complexity of these subclasses. This part concludes with the implementation techniques of AG and introduces AG generators.

The second part discusses data flow analysis as a basis for intermediate code generation and program optimisation. This includes the introduction of monotonous data flow frameworks and abstract interpretation as theoretical models.

Next, we introduce modern intermediate representations in the SSA (static single assignment) form. We construct SSA from triple intermediate representation performing a value-numbering data flow analysis. Then we show analyses and optimisations of the SSA representation.

Finally, we show code generation techniques going beyond simple macro expansion. We introduce bottom-up rewrite systems which allow the optimising of the code selection while generating the code. We discuss open research problems arising from new machine architectures.

Recommended reading
Aho, Sethi & Ullman, Compiler Construction, Addison-Wesley. In addition, handouts and scientific articles.

Prerequisites
Compiler Construction I.

Assessment methods
Assignments and/or oral or written examinations.


DAD723 - Language Technology II

Contact Person
Joakim Nivre
Telephone: +46 470 70 89 92
Telefax: +46 470 840 04
E-mail: joakim.nivre@vxu.se
School of Mathematics and Systems Engineering

September–October, 2006
5 credit points (7.5 ECTS)

The aim of the course is to give students a deepened knowledge of concepts and methods for automated analysis and generation of natural language.

Contents
The course provides a complementary survey of language technology areas that are not treated in the course Language Technology I (DAC723) and an in-depth study of lexicalised and stochastic methods for natural language analysis. The most important topics are the following:

  • Morphological analysis
  • Stochastic models for spell-checking
  • Stochastic n-gram models
  • Lexicalised and stochastic parsing
  • Lexical semantics
  • Word sense disambiguation and information retrieval
  • Discourse modelling
  • Dialogue systems
  • Machine translation

Recommended reading
Jurafsky D. & Martin J. H., Speech and Language Processing, Prentice-Hall, 2000. Copied material, 100–200 pages.

Teaching methods
Lectures and lab sessions.

Prerequisites
The course DAC723 (Language Technology) or the equivalent.

Assessment methods
The course is assessed through practical lab assignments and an individual project reported in a term paper.


DAD725 - Software Technology Project

Contact Person
Welf Löwe
Telephone: +46 470 70 84 95
Telefax: +46 470 840 04
E-mail: welf.lowe@vxu.se
School of Mathematics and Systems Engineering

November, 2006–January, 2007
5 credit points (7.5 ECTS)

This course is a Lab course. The goal is the design of a reusable Java graph library. It applies knowledge gathered from different courses in Software Technology and basic Computer Science: Graph Theory, Object-Oriented Design, Project Management, and Specification Techniques.

Contents
The course starts with a discussion of object-oriented design. It continues with formal requirements specification. Then there is a review of graph theory serving as the application domain. Before the actual practical programming starts, the practice of software project organisation is discussed. The main part of the course is devoted to work in groups to jointly develop a Java graph library.

Recommended reading
The article by Frick, Goos, Neumann & Zimmermann, Construction of Robust Class Hierarchies, is the recommended reading. Further articles on specific topics are made available before the corresponding lectures.

Prerequisites
A basic knowledge of algorithms and data structures, Java programming skills.

Assessment methods
Assignments and/or oral or written examinations.


DAD726 - Web Services

Contact Person
Welf Löwe
Telephone: +46 470 70 84 95
Telefax: +46 470 840 04
E-mail: welf.lowe@vxu.se
School of Mathematics and Systems Engineering

November–December, 2006
5 credit points (7.5 ECTS)

The course aims at giving an understanding of technologies needed to produce and consume Web services. It discusses the standards used in this process as well as platforms for the development and deployment of Web services.

Contents
The course covers the following topics:

  • Introduction to Web services
  • Overview of Web service architecture
  • Key Web service technologies: XML schemas and namespaces, SOAP, WSDL and UDDI
  • C# – an overview
  • Web service platforms
  • Developing and consuming Web services
  • Interoperability
  • Web service security

Recommended reading
Handouts and scientific articles.

Teaching methods
Lectures, seminars and practical programming work.

Prerequisites
A knowledge of XML and object-oriented programming.

Assessment methods
Assignments and/or oral or written examinations.


DAD728 - Program Visualization

Contact Person
Thomas Panas
Telephone: +46 470 70 87 44
Telefax: +46 470 840 04
E-mail: thomas.panas@vxu.se
School of Mathematics and Systems Engineering

September–October, 2006 (Cancelled)
5 credit points (7.5 ECTS)

The course aims at giving an introduction to the visualisation of programs.

Contents

  • Introduction to Program Visualisation, Software Visualisation and Information Visualisation
  • The Reverse Engineering Process: Program Analysis, Program Focusing and Program Visualisation
  • Metrics and Graph Drawing
  • Practical assignments in Java

Recommended reading
Articles to be handed out.

Prerequisites
DAB702, Object-Oriented Software Engineering.


DVM720 - Intelligent Multimedia Systems

Please see Media Technology for further information.