Studiegids

nl en

Software Development

Vak
2024-2025

Admission requirements

Not applicable.

Description

This course aims to advance the programming skills of the students in Python and introduce them to software development concepts and practices that they will need for the rest of their studies and in their professional careers in data science and artificial intelligence.
The topics included in the course are software development processes, collaborative software development, python library development, software design notation, data preprocessing, software testing, cloud software development, and source code management.
The students will be expected to prepare in advance for every lecture, using the provided material. There will be lab assignments. Students will also work in teams to develop a software product for project assignment.

Course objectives

A student who has successfully completed the course is able to:

  • Understand and employ source code management systems (Git, Gitlab)

  • Learn to handle real-world datasets and preprocess it for using in a data science project

  • Should be able to create Software Requirement Specification document for a software system

  • Implement concepts of Object Oriented Programming

  • Learn Advanced I/O, packaging management, file handling, and exception handling in Python

  • Understand different software development process models and agile development practices, and implement a software development process model in their project

  • Outline basic software testing techniques and apply those in projects

  • Analyze and consider ethical guidelines for developing a software

  • Create UML (Unified Modeling language) diagrams for their software

  • Learn to do the documentation of the developed software code

  • Recognize how the cloud can be used in software development

  • Create and deliver a data science software product using known software development methodologies with a team

Timetable

In MyTimetable, you can find all course and programme schedules, allowing you to create your personal timetable. Activities for which you have enrolled via MyStudyMap will automatically appear in your timetable.

Additionally, you can easily link MyTimetable to a calendar app on your phone, and schedule changes will be automatically updated in your calendar. You can also choose to receive email notifications about schedule changes. You can enable notifications in Settings after logging in.

Questions? Watch the video, read the instructions, or contact the ISSC helpdesk.

Note: Joint Degree students from Leiden/Delft need to combine information from both the Leiden and Delft MyTimetables to see a complete schedule. This video explains how to do it.

Mode of instruction

  • Lectures

  • Lecture preparation material: reading material, practical assignments

  • Labs for working on the weekly assignments and the software programming project

Assessment method

A written exam determines 50% of the grade, and the assessment of the programming project determines 50%. In case of the group project, the project grade applies to all group members. The exam and programming project need to be graded at least 5.5 to successfully pass the course.

The exam will take place using ANS.

The teacher will inform the students how the inspection of and follow-up discussion of the exams will take place.

Reading list

Reading material (slides, handouts and external resources) will be provided throughout the course.

Registration

As a student, you are responsible for enrolling on time through MyStudyMap.

In this short video, you can see step-by-step how to enrol for courses in MyStudyMap.
Extensive information about the operation of MyStudyMap can be found here.

There are two enrolment periods per year:

  • Enrolment for the fall opens in July

  • Enrolment for the spring opens in December

See this page for more information about deadlines and enrolling for courses and exams.

Note:

  • It is mandatory to enrol for all activities of a course that you are going to follow.

  • Your enrolment is only complete when you submit your course planning in the ‘Ready for enrolment’ tab by clicking ‘Send’.

  • Not being enrolled for an exam/resit means that you are not allowed to participate in the exam/resit.

Contact

Education coordinator LIACS bachelors

Remarks

Software
Starting from the 2024/2025 academic year, the Faculty of Science will use the software distribution platform Academic Software. Through this platform, you can access the software needed for specific courses in your studies. For some software, your laptop must meet certain system requirements, which will be specified with the software. It is important to install the software before the start of the course. More information about the laptop requirements can be found on the student website.