The Analysis, Design and Software Architecture (BDSA) course is part of the Bachelor in Software Development (BSWU). Prerequisites, learning objectives, and other details about the course can be found in the official course description. BDSA is a second year course being given at the IT University of Copenhagen (ITU). The language of instruction for this class is English, unless everybody speaks Danish.  The official reading list for the course is listed below. The [OOAD], [SE9], and [PrC#] will be the main text books we will use but we will also draw on other material. The main goals in this course are:

  1. to get you good at performing object-oriented analysis and design (OOAD) on medium-sized software systems,
  2. to make sure you know the C# programming language, the .NET architecture,  and the Visual Studio development environment,
  3. to ensure that you understand what software architectures (SA) are all about and how to use/talk about them
  4. to see that you learn some of the fundamental principles and practices of basic software engineering (SE), with special focus on agile software development and the SCRUM method.
The course have four main teaching activities:
  1. Theoretical/Conceptual lectures on OOAD, SA, and SE
  2. Technical lectures on C#, .NET, and Visual Studio
  3. Weekly exercises
  4. A project in the end of the semester
The course ends with a small group project, so everyone should start to think about whom they wish to work on projects with later in the semester.  Optimal teams are of size 6.  The best teams have a mix of a process/ documentation geek, an über-programmer/ software architect, programmers, and a Q/A-biased person who likes to break things.

Location & Time

The course mixes theory, technological presentations, and practical exercises. Lectures on Tuesdays are followed by “Tech Talks”, which lead to practical exercise classes (supervised practical design exercises) on Thursdays. The general flow of this course is the following:

  • Tuesday 09:15 - 12:00 Theoretical Concepts I -  Aud. 4
  • Tuesday 13:15 - 16:00 Exercises - Aud. 4 + Hallway
  • Thursdays 10:15 - 12:00 C# and .NET Tech Talks -  3A.12+3A.14
  • Thursdays 13:00 - 16:00 Exercises - 3A.12+3A.14

Please note that lectures adhere to the “academic quarter”, i.e. all lectures start 15 minutes past the hour

Important Dates

  • December 17, 2012 - Project hand-in
  • January 17-22, 2013 - Oral Exam

Communication

We will use this BDSA-E2012 blog for all communication. Do not use email! Please consult the blog regularly for updates.

Lecturers & TAs

Books and Litterature

The following three book will be used in the course. They should be available from the bookstore, but clearly also online.

Course Book:

C# & .NET Literature:

  • [C#P] C# Precisely by P. Sestoft and Henrik I. Hansen.
    [C#P] is a distillation of the ECMA C# standard for the reader who knows Java and for those not interested in digesting the entire 500+ page standard
  • [PrC#] Programming C# 4.0 by  Ian Griffiths, Matthew Adams, Jesse Liberty.
    This book gives a thorough introduction to C# version 4.0 and the whole .NET platform.

Additional Literature:

  • [SE9] Software Engineering 9th ed by Ian Sommerville.
    [SE9] is the “bible” within software engineering. We shall use some of the chapters in this book (ca. 10 chapters out of 30, ~30%) in this course. Mainly on Tuesdays. Even though we only use 30% of the book, I still encourage you to buy it. It works as a compendium containing a description of many important SE concepts and principles, which you may need in your future studies and jobs.
  • [SA2] Software Architecture in Practice (2nd ed.) by Len Bass, Paul Clements, and Rick Kazman.
    [SA2] is a core reference book within Software Architecture. We shall use some of the chapters and concepts from this book in this course, mainly on Tuesdays. If you’re interested in Software Architecture in your future career, this book is a “must have” — if not, try to borrow it from the libary.

Programming Tools

As we will be programming in C# in this course, each of you needs to install a C# development environment on your machine.  We recommend using Visual Studio 2010 Professional but you can also instal Mono. ITU has a subscription to the MSDNAA Software Center.  By contacting the IT Department (it@itu.dk), you obtain a login to the MSDNAA portal which lets you download, for free, a huge selection of Microsoft software for education.  If you’re using a Mac, you can download and installed Windows 7 (x86) and Visual Studio 2010 Professional in a Parallels or WMWare VM. Our first lab sessions will focus on ensuring everyone has the proper tools and operating systems installed.