Introduction to Software Development module (CS11002)
Learn the basic skills required to design and develop software.
20
CS11002
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.
Week |
Topics covered |
1 |
Introduction and user requirements |
2 |
Object-oriented design |
3 |
Coding tools: Your first Java program. |
4 |
Methods, statements and operators in Java |
5 |
Inheritance |
6 |
Control structures |
7 |
Arrays, collections and iterators |
8 |
Working with text files |
9 |
Project work |
10 |
Project work (and class test) |
11 |
Project work |
Courses
This module is available on following courses: