Up a level
Export as [feed] Atom [feed] RSS 1.0 [feed] RSS 2.0
[tool] Batch List
Number of items: 33.

COMP1004 Programming Principles
Justin Bradley . 08 Jan 2012 23:28

These are the resources used for the Computer Science course Programming Principles, designed to teach students the fundamentals of computer programming and object orientation via learning the Java language. We also touch on some software engineering basics, such as patterns, software design and testing. The course assumes no previous knowledge of programming, but there is a fairly steep learning curve, and students are encouraged to practice, practice, practice!

Introduction to Soft Systems Modelling
Justin Bradley . 07 Oct 2015 23:59

Two lectures that introduce the idea of modelling in the large, and contrasts hard system and soft system modelling. The second lecture goes into detail on a number of specific methods for analysing a system (CATWOE and CSH) and on modelling a system (Systems Diagrams and Personas).

Programming Principles: Computational Thinking
Justin Bradley . 11 Oct 2011 11:54

In this session we look at how to think systematically about a problem and create a solution. We look at the definition and characteristics of an algorithm, and see how through modularisation and decomposition we can then choose a set of methods to create. We also compare this somewhat procedural approach, with the way that design works in Object Oriented Systems,

Programming Principles: Conclusions
Justin Bradley . 03 Jan 2012 13:39

This is the revision session for our Programming Principles course. We take a whistle-stop tour of the topics covered in the course, look at the three pillars of object oriented programming, and look ahead to the exam.

Programming Principles: Polymorphism
Justin Bradley . 15 Nov 2011 10:15

In this session we build on inheritance and look at overriding methods and dynamic binding. Together these give us Polymorphism - the third pillar of Object Oriented Programming - and a very powerful feature that allows us to build methods that deal with superclasses, but whose calls get redirected when we pass in sub-classes.

Requirements Capture: Using UML Use Cases
Justin Bradley . 03 Dec 2010 11:13

This is a presentation for our year one INFO1008 course of Computational Systems. It covers the need for requirements capture and the difficulty of building a specification based on user information. We present UML Use Cases and Use Case diagrams as a way of capturing requirements from the users point of view in a semi-structured way.

Software Development Life Cycles and Process Models
Justin Bradley . 04 Dec 2015 10:04

This presentation describes the evolution of Software Development Lifecycles (SDLCs) from the first formally proposed linear models including, the Waterfall (Royce 1970) through to iterative prototyping models (Spiral and Win-Win Spiral) and incremental, iterative models used in Agile Methods. We discuss the problems iinherent in each prpoosal and how successive models attempt to solve them.

System Design: UML Activity and Sequence Diagrams
Justin Bradley . 26 Oct 2012 10:52

In this session we look at how to model flow of control and interactions between components using UML Activity and Sequence Diagrams. This is an introductory session and so for Activity Diagrams we only cover branching, forks and joins and swim lanes, and for Sequence we cover lifelines, messages and returns, and alt, par and opt frames.

System Design: UML Class Diagrams
Justin Bradley . 05 Nov 2012 00:32

In this session we look at UML Class Diagrams and how they fit into both the family of UML models, and also the software engineering process. We look at some basic features of class diagrams including properties, operations, associations, generalisation, aggregation and composition.

System Design: Using UML Use Cases
Justin Bradley . 22 Oct 2012 07:08

In this lecture we cover how UML Use Cases can be used for requirements capture. We look at the anatomy of a Use Case Description, and the way in which use cases can be brought together in a use case diagram. We also look at the way that use cases can be derived from problems using noun verb analysis.

TIDT's Development Process
Justin Bradley . 04 Apr 2016 14:00

This presentation gives an overview of TIDT's development process at time of writitng in March 2016. We were and still are developing our process. It is an agile process based on DSDM and Scrum.

The Web 2.0 Development Survival Guide
Justin Bradley . 13 Apr 2011 11:35

Building software for Web 2.0 and the Social Media world is non-trivial. It requires understanding how to create infrastructure that will survive at Web scale, meaning that it may have to deal with tens of millions of individual items of data, and cope with hits from hundreds of thousands of users every minute. It also requires you to build tools that will be part of a much larger ecosystem of software and application families. In this lecture we will look at how traditional relational database systems have tried to cope with the scale of Web 2.0, and explore the NoSQL movement that seeks to simplify data-storage and create ultra-swift data systems at the expense of immediate consistency. We will also look at the range of APIs, libraries and interoperability standards that are trying to make sense of the Social Media world, and ask what trends we might be seeing emerge.

Week 1 - Introduction to Software Engineering
Justin Bradley . 17 Jan 2017 15:12

Topics covered Professional software development What is meant by software engineering. Software engineering ethics A brief introduction to ethical issues that affect software engineering.

Week 10 - Introduction to Project Management and Planning
Justin Bradley . 18 Jan 2017 19:37

Topics Covered Project Risk Management Managing People Teamwork

Week 10 - Introduction to Project Management and Planning (Tutorial)
Justin Bradley . 18 Jan 2017 19:43

This is the Tutorial for the Lecture material Week 10 - Introduction to Project Management and Planning

Week 11 - Quality Management
Justin Bradley . 18 Jan 2017 19:56

Topics covered Software quality Software standards Reviews and inspections Quality management and agile development Software measurement (in brief)

Week 12 - Case Studies (Fundamentals of Software Engineering)
Justin Bradley . 19 Jan 2017 08:39

Ethical dilemmas Disagreement in principle with the policies of senior management. Your employer acts in an unethical way and releases a safety-critical system without finishing the testing of the system. Participation in the development of military weapons systems or nuclear systems. Case studies A personal insulin pump An embedded system in an insulin pump used by diabetics to maintain blood glucose control. A mental health case patient management system Mentcare. A system used to maintain records of people receiving care for mental health problems. A wilderness weather station A data collection system that collects data about weather conditions in remote areas. iLearn: a digital learning environment A system to support learning in schools

Week 2 - Software Processes
Justin Bradley . 17 Jan 2017 16:30

Topics covered Software process models Process activities Coping with change Process improvement

Week 2 - Software Processes (Tutorial and Lab)
Justin Bradley . 17 Jan 2017 19:12

This is the Tutorial and Lab for Week 2 - Software Processes

Week 3 - Agile Software Development
Justin Bradley . 17 Jan 2017 20:09

Topics Covered Agile methods Agile development techniques Agile project management Scaling agile methods

Week 3 - Agile Software Development (Tutorial and Lab)
Justin Bradley . 20 Jan 2017 14:38

This is the Tutorial and Lab that accompanies Week 3 lecture material on Agile Software Development

Week 4 - Requirements Engineering
Justin Bradley . 17 Jan 2017 20:37

This chapter is to introduce software requirements and to explain the processes involved in discovering and documenting these requirements in order to meet stakeholders' needs. You will : understand the concepts of user and system requirements and why these requirements should be written in different ways; understand the differences between functional and non-functional software requirements; understand the main requirements engineering activities of elicitation, analysis and validation and the relationships between these activities,. understand why requirements management is necessary and how it supports other requirements engineering activities.

Week 4 - Requirements Engineering (Tutorial and Lab)
Justin Bradley . 17 Jan 2017 20:43

This is the Tutorial and Lab that accompanies the lecture material Week 4 - Requirements Engineering

Week 5 - System Modelling (Tutorial and Lab)
Justin Bradley . 17 Jan 2017 21:28

This is the Tutorial and Lab that accompanies the Lecture Material Week 5 - Systems Modelling

Week 5 - Systems Modelling
Justin Bradley . 17 Jan 2017 21:22

Use case modelling Activity modelling Class modelling Database design

Week 6 - Architectural Design
Justin Bradley . 18 Jan 2017 08:51

Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures

Week 6 - Architectural Design (Tutorial and Lab)
Justin Bradley . 18 Jan 2017 08:53

This is the Tutorial and Lab that accompanies the lecture material Week 6 - Architectural Design

Week 7 - Design and Implementation Approaches
Justin Bradley . 18 Jan 2017 09:56

Design and implementation Is the stage in the software engineering process at which an executable software system is developed. activities are invariably inter-leaved. Design is a creative activity in which you identify software components and their relationships, based on a customer’s requirements. Implementation is the process of realizing the design as a program.

Week 7 - Design and Implementation Approaches (Tutorial and Lab)
Justin Bradley . 18 Jan 2017 09:58

This is the Tutorial and Lab that accompanies the lecture material Week 7 - Design and Implementation Approaches

Week 8 - Software Testing
Justin Bradley . 18 Jan 2017 18:50

Testing can only show the presence of errors in a program. It cannot demonstrate that there are no remaining faults. Development testing is the responsibility of the software development team. A separate team should be responsible for testing a system before it is released to customers. Development testing includes unit testing, in which you test individual objects and methods component testing in which you test related groups of objects and system testing, in which you test partial or complete systems. When testing software, you should try to ‘break’ the software by using experience and guidelines to choose types of test case that have been effective in discovering defects in other systems. Wherever possible, you should write automated tests. The tests are embedded in a program that can be run every time a change is made to a system.

Week 8 - Software Testing (Tutorial and Lab)
Justin Bradley . 18 Jan 2017 18:53

This is the Tutorial and Lab that accompanies the Lecture material Week 8 - Software Testing

Week 9 - Software Evolution
Justin Bradley . 18 Jan 2017 19:20

Topics covered: Test-driven development Release testing User testing Evolution processes Legacy systems

Week 9 - Software Evolution (Tutorial and Lab)
Justin Bradley . 18 Jan 2017 19:22

This is the Tutorial and Lab for the Lecture material Week 9 - Software Processes

This list was generated on Thu Apr 25 08:28:48 2024 UTC.