Introduction to Software Development module (CS11002)

Learn the basic skills required to design and develop software.

Credits
20
Module code
CS11002
Level
1
Semester
Semester 1
School
School of Science and Engineering
Discipline
Computing

Software development is the process of designing, building, testing, and maintaining software applications.

The process typically involves several stages, including requirements gathering, design, implementation, testing, and maintenance.

This introductory module will allow you to develop core skills in software development. This will make sure that everyone in the class is has a shared understanding of these skills, whether or not they have studied computing previously.

What you will learn

In this module, you will:

  • build the foundational skills to design and develop software
  • learn about data types and variables
  • study objects and classes
  • learn the importance of considering users and their requirements in the software development process
  • learn to identify user needs and design software that meets those needs effectively

Throughout the module, you will use various software development tools and packages, focusing on Java as the primary programming language. You will develop practical skills and gain valuable experience in software development by creating your own Java software programs.

By the end of the module you will be able to:

  • demonstrate a strong understanding of software development fundamentals
  • declare and assign values to variables, and use them correctly in your programs
  • define classes, create objects from those classes, and use them in your programs
  • understand the core concepts of object-oriented programming and its benefits
  • demonstrate practical skills by creating your own Java software programs
  • build upon valuable experience in software development

This will enable you to tackle more advanced concepts in future modules.

Assignments / assessment

  •  Programming Exercise (20%)
  • Final Project (40%)
  • Class Test (40%)

This module has a Qualifying Fail condition which means that you must achieve a pass in the coursework (being a weighted average of all coursework grades combined) and a pass in the Class Test in order to pass the module overall.

Teaching methods / timetable

You will learn by taking a hands-on approach. This will involve taking part in tutorials and practical sessions.

Learning material is provided through videos, review notes, examples, and tutorial questions, including software development presentations and demonstrations.

Week Topics covered
1 Introduction to problem solving and user requirements
2 Your first Java program(s)
3 Control structures in Java
4 Object-oriented programming in Java
5 Object-oriented programming in Java continued
6 Inheritance
7 Working with collections / arrays
8 Working with text files
9 Project work
10 Project work (and class test)
11 Project work

Courses

This module is available on the following courses: