Copenhagen School of Design and Technology

da

Software construction 3 (EN)

2018/2019
Danish title
Softwarekonstruktion 3 (EN)
Study programme
Computer Science
Type of education
Full time education
Level of education
Academy Profession
Semester
3. semester
Duration of the subject/module
16 weeks
Ects
10
Programme elements
Compulsory
Language
English
Start time
Autumn
Spring
Location
Lygten 37, København NV
Subject number
3050351
Responsible for the subject(s)/modul(es)
Constantin Alexandru Gheorghiasa
Christian Ole Kirschberg
Renaud Houver
  • Content and learning outcomes

    In close cooperation with the programme element Software Design, the student gains an understanding of the basic skills involved in software construction.

    We carry out an in-depth study of programming concepts, the creation of structures/algorithms as well as how to make bespoke customer applications.

    The first semester is completed with a compulsory, interdisciplinary project together with Software Design. The interdisciplinary project serves two purposes. It introduces the student to how the first year exam will proceed. Secondly, it serves as feedback to the individual student on their performance in terms of knowledge and skills compared to the first year curriculum.

    The second semester builds on the already achieved knowledge with more advanced code structuring. The students learn how to create relational databases and manipulate data in the database. Furthermore, they learn how to construct a user interface (GUI) based on the customer's wishes/needs.

    The second semester is completed with an interdisciplinary exam project covering all four programme elements from the first and second years of study (Software Construction, Software Design, IT in the Organisation as well as Technical Science).

    Knowledge

    The student acquires knowledge of:
    1. specification of abstract data types
    2. criteria for program quality
    3. abstraction mechanisms in modern programming languages
    4. integration between heterogeneous components and platforms

    Skills

    The student has acquired the skills needed to:
    1. specify and create algorithms
    2. use the programming language for the realisation of algorithms, design patterns, abstract data types, data structures, design models and user interfaces
    3. assess the qualitative and quantitative characteristics of algorithms and data structures
    4. apply a modern integrated development tool, including version control system
    5. realise models in a database system and construct programs that make use of a database interface
    6. design and construct programs as cooperating processes/threads
    7. develop applications based on a layered software architecture
    8. use software components/libraries
    9. prepare documentation in relation to current de-facto standards in the profession
    10. apply modern techniques and tools for testing and quality assurance purposes
    11. apply techniques for the construction of applications with multiple simultaneous users
    12. design and construct applications based on collaborative processes in a distributed architecture
    13. construct programs that use up-to-date network technologies
    14. use design patterns for distributed software architecture
    15. develop software components
    16. develop web applications

    Competences

    The student has acquired the competencies needed to:
    1. function as a professional programmer in development, integration and maintenance projects
    2. acquire new skills in the areas of programming language, development tools, programming techniques, and program design.

  • Type of instruction
    The teaching method on the AP Degree Programme in Computer Science takes the form of a
    dynamic, interactive process with emphasis on active student participation. The teaching is
    based on relevant business practice, and combines practice and theory. Issues that appear in
    different types of enterprises in the IT industry are incorporated. The students are responsible for their own learning, and both they and the teachers make a constructive contribution to the learning process.

    To ensure optimal academic learning and personal development for the individual students, the AP Degree Programme in Computer Science applies varied educational practices with emphasis on dialogue, discussion and projects.

    The teaching is varied and includes classroom instruction, guest lectures, company visits, project work in groups and individual work – often with an interdisciplinary focus and always with a practice-oriented approach. In addition to the academic content, the various ways of learning are also intended to develop the student's ability to work independently and in cooperation with others.

    Common to all the learning activities is that the programme always aims to define clear goals
    for the activities.

    Classes can be organised so as to ensure that foreign languages are incorporated in the form
    of teaching material and as part of the teaching.
  • Exam

    The learning outcomes of the exam are identical with the learning outcomes of the subject(s)/modul(es)

    Prerequisites for access to the examination
    To take the exam, the following requirements apply:
    There are three mandatory activities linked to the exam, which are described in the relevant
    semester/class room on Fronter. Documentation of mandatory activities must be submitted via Fronter. Mandatory activities are distributed as follows:
    Core area Programming 2
    Core area Technology 1
    Students who fail to fulfil one or more study activities cannot participate in the exam and will
    have used one exam attempt.
    Exam in one or more subjects
    Subject/module is tested with the following modules
    Type of exam
    Oral examination
    The exam is an external, individual exam assessed according to the 7-point grading scale.
    The students receive a main question related to Programming and a sub-question related to
    Technology. The students must demonstrate an adequate level of performance in each of the
    core areas.
    Main question – Programming:
    A list of the main topics in the Programming area will be published no later than one week before the exam. The main topics include the most important topics within the subject area and form the basis for the Programming part of the exam. The students are expected to present the Programming topics they have drawn. The presentation must include both a theoretical part and practical Programming examples.
    Sub-question – Technology:
    The question places emphasis on the subject 'Computer Networks and Distributed Systems'.
    The list of Technology topics will be published no later than one week before the exam.
    The exam is equivalent to 20 ECTS.
    The exam is assessed according to the 7-point grading scale.
    In the assessment, the Programming question is weighted at 70% and the sub-question at
    30%.
    Individual exam or group exam
    Individual
    Exam languages
    English
    Duration
    A total of 40 minutes are allocated per examinee, including grading.
    Type of evaluation
    7-point grading scale
    Examiners
    External censure
    Exam criteria
    The assessment criteria correspond to the learning objectives for the exam, which are identical
    to the learning objectives for the compulsory programme element: Programming and Technology,
    see the common part of the curriculum.
84
hours of teaching
190
hours of preparation
The figure shows the extent of workload related to the subject divided into different study activities.

In the subject Software construction 3 (EN) you will receive 84 hours of instruction, which corresponds to 112 lessons (1 lesson = 45 min.) and 31% of your total workload for the subject.

The teaching primarily consists of the following activities: classroom teaching.
The preparation primarily consists of the following activities: reading your own notes, reading the curriculum.

Read about KEAs Study Activity Model

*KEA can deviate from the number of hours if this is justified by special circumstances