Bachelor's level
CTDVA Computer Science
G1F / First cycle, has less than 60 credits in first-cycle course/s as entry requirements
This course aims to provide students with prior experience in object-oriented programming languages the opportunity to acquire advanced skills in C# and .NET. Students will learn to design and implement complex, GUI-based, object-oriented, and data-driven applications while developing a comprehensive understanding of modern C# techniques to build robust, efficient, and user-friendly software solutions.
Content:
- Object-Oriented Programming (OOP): In-depth learning and implementation of encapsulation, inheritance, and polymorphism, including practical applications of polymorphism through dynamic binding, abstract classes, and interfaces.
- Desktop Applications with GUI: Developing responsive, user-friendly desktop applications with graphical user interfaces
- Generics, Data Structures, and Collections: Using generics and built-in collections to efficiently manage and process data.
- Delegates, Events, and Event Handling: Implementing delegates, events, and handlers to create interactive applications.
- File Handling and Serialization: Learning techniques for managing file I/O operations and object serialization for data persistence.
- Asynchronous Programming: Improving application responsiveness and performance using asynchronous operations with the async and await keywords.
- Anonymous Types, Methods, and Lambda Expressions: Leveraging advanced C# features for efficient coding.
- Introduction toASP.NET Core: Fundamentals of front-end and back-end web application development with ASP.NET Core.
- Data-driven APIs Utilizing Entity Framework Core and LINQ for robust data access and manipulation.
- Unit Testing: Creating and running unit tests to ensure code reliability and quality.
Knowledge and understanding
To pass the course, the student must:
1. Understand the principles of designing and developing advanced GUI-based desktop applications using .NET and C# with a strong foundation in object-oriented programming (OOP).
2. Gain insights into advanced C# features such as generic collections, delegates, asynchronous programming, and lambda expressions to enhance coding efficiency.
Skills and abilities
To pass the course, the student must be able to:
3. Develop advanced GUI-based desktop applications and simple web applications using .NET and C#, incorporating both front-end and back-end functionality with ASP.NET Core and API integration.
4. Integrate applications with databases using Entity Framework Core for efficient data handling and persistence Perform unit testing to ensure code reliability and maintainability.
5. Conduct unit testing to ensure code reliability and maintainability
Judgement and approach
To pass the course, the student must:
6. Evaluate and apply advanced C# and .NET techniques to create efficient, reliable, and maintainable software solutions.
7. Assess code quality and performance to meet industry standards and best practices.
The course offers a mix of written lectures, recorded multimedia videos, and mandatory programming assignments and quizzes. Combined with optional exercises, these materials cover both practical and theoretical aspects of the subject.
Distance Learning: The course is conducted entirely online; no physical or on-site attendance is required. Students must have reliable internet access and a computer capable of running Visual Studio or another .NET-based development environment and tools.
The course includes several mandatory programming assignments and digital tests, forming the basis for examination.
To achieve a passing grade, the student must complete the following moments with a minimum grade of D:
- Assignments Part 1, 4 hp, UA, Learning outcomes 1-5
- Assignments Part 2, 2 hp, UA, Learning outcomes 1-5
- Digital tests, 1,5 hp, UA, Learning outcomes 6-7
**Grading Criteria:**Criteria for each grade level, including qualifications for higher grades such as B and A, are clearly specified for each assignment and digital test.
Recommended course literature:
- Mark J. Price, C# 12 and .NET 8 - Modern Cross-Platform Development Fundamentals, Eighth Edition, 2023. (Students may also use a newer edition if it is published before the course starts).
Malmö University provides students who participate in, or who have completed a course, with the opportunity to express their opinions and describe their experiences of the course by completing a course evaluation administered by the University. The University will compile and summarise the results of course evaluations. The University will also inform participants of the results and any decisions relating to measures taken in response to the course evaluations. The results will be made available to the students (HF 1:14).
If a course is no longer offered, or has undergone significant changes, the students must be offered two opportunities for re-examination based on the syllabus that applied at the time of registration, for a period of one year after the changes have been implemented.
This course is given in English. All educational materials will be in English.
The course cannot be included in a degree together with the course DA208E or earlier versions.
If a student has a Learning support decision, the examiner has the right to provide the student with an adapted test, or to allow the student to take the exam in a different format.
The syllabus is a translation of a Swedish source text.