Introduction to Software Development module (CS11002)

Learn the basic skills required to design and develop software.

On this page


Module code


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

Project requirements and design (10%)

  • Given in week 1
  • Due in week 3
  • 8 hours effort expected

Exercises with classes (10%)

  • Given in week 4
  • Due in week 5
  • 6 hours effort expected

Exercises with program control (10%)

  • Given in week 6
  • Due in week 7
  • 6 hours effort expected

Working with text files and arrays (10%)

  • Given in week 8
  • Due in week 9
  • 6 hours effort expected

Individual project (30%)

  • Given in week 9
  • Due in week 11
  • 20 hours effort expected

Class test (30%)

  • In week 11
  • Test lasts 1 hour

This module does not have a final exam.

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.


Topics covered


Introduction and user requirements


Object-oriented design


Coding tools: Your first Java program.


Methods, statements and operators in Java




Control structures


Arrays, collections and iterators


Working with text files


Project work


Project work (and class test)


Project work


This module is available on following courses: