Professional Documents
Culture Documents
Student Guide
The copyright in this document is vested in NCC Education Limited. The document must not be
reproduced by any means, in whole or in part, or used for manufacturing purposes, except with the
prior written permission of NCC Education Limited and then only on condition that this notice is
included in any such reproduction.
Published by: NCC Education Limited, The Towers, Towers Business Park, Wilmslow Road,
Didsbury, Manchester M20 2EZ, UK.
Tel: +44 (0) 161 438 6200 Fax: +44 (0) 161 438 6240 Email: info@nccedu.com
http://www.nccedu.com
Page 2 of 60
SDT Student Guide v1.1
Title Here
CONTENTS
1. Module Overview and Objectives .............................................................................. 7
2. Learning Outcomes and Assessment Criteria .......................................................... 7
3. Syllabus ....................................................................................................................... 8
4. Related National Occupational Standards .............................................................. 10
5. Teaching and Learning............................................................................................. 10
5.1 Lectures...................................................................................................................... 11
5.2 Tutorials ...................................................................................................................... 11
5.3 Seminars .................................................................................................................... 11
5.4 Private Study .............................................................................................................. 11
6. Assessment .............................................................................................................. 11
7. Further Reading List ................................................................................................. 11
Topic 1: Introduction to the Module and the Software Development Process.................... 13
1.1 Learning Objectives .................................................................................................... 13
1.2 Timings ....................................................................................................................... 13
1.3 Seminar Notes ............................................................................................................ 14
1.4 Private Study Exercises .............................................................................................. 15
1.5 Tutorial Notes ............................................................................................................. 16
Topic 2: Desk-Checking .......................................................................................................... 17
2.1 Learning Objectives .................................................................................................... 17
2.2 Timings ....................................................................................................................... 17
2.3 Seminar Notes ............................................................................................................ 18
2.4 Private Study Exercises .............................................................................................. 19
2.5 Tutorial Notes ............................................................................................................. 20
Topic 3: Data Representation ................................................................................................. 21
3.1 Learning Objectives .................................................................................................... 21
3.2 Timings ....................................................................................................................... 21
3.3 Seminar Notes ............................................................................................................ 22
3.4 Private Study Exercises .............................................................................................. 23
3.5 Tutorial Notes ............................................................................................................. 24
Topic 4: Iteration ..................................................................................................................... 25
4.1 Learning Objectives .................................................................................................... 25
4.2 Timings ....................................................................................................................... 25
4.3 Seminar Notes ............................................................................................................ 26
4.4 Private Study Exercises .............................................................................................. 27
4.5 Tutorial Notes ............................................................................................................. 28
Topic 5: Selection ................................................................................................................... 29
Page 3 of 60
SDT Student Guide v1.1
Title Here
5.1 Learning Objectives .................................................................................................... 29
5.2 Timings ....................................................................................................................... 29
5.3 Seminar Notes ............................................................................................................ 30
5.4 Private Study Exercises .............................................................................................. 31
5.5 Tutorial Notes ............................................................................................................. 32
Topic 6: Functions .................................................................................................................. 33
6.1 Learning Objectives .................................................................................................... 33
6.2 Timings ....................................................................................................................... 33
6.3 Seminar Notes ............................................................................................................ 34
6.4 Private Study Exercises .............................................................................................. 34
6.5 Tutorial Notes ............................................................................................................. 36
Topic 7: Testing and Debugging ............................................................................................ 37
7.1 Learning Objectives .................................................................................................... 37
7.2 Timings ....................................................................................................................... 37
7.3 Seminar Notes ............................................................................................................ 38
7.4 Private Study Exercises .............................................................................................. 39
7.5 Tutorial Notes ............................................................................................................. 40
Topic 8: Arrays ........................................................................................................................ 41
8.1 Learning Objectives .................................................................................................... 41
8.2 Timings ....................................................................................................................... 41
8.3 Seminar Notes ............................................................................................................ 42
8.4 Private Study Exercises .............................................................................................. 43
8.5 Tutorial Notes ............................................................................................................. 44
Topic 9: Algorithms................................................................................................................. 45
9.1 Learning Objectives .................................................................................................... 45
9.2 Timings ....................................................................................................................... 45
9.3 Seminar Notes ............................................................................................................ 46
9.4 Private Study Exercises .............................................................................................. 47
9.5 Tutorial Notes ............................................................................................................. 48
Topic 10: Objects and Classes ................................................................................................. 49
10.1 Learning Objectives .................................................................................................... 49
10.2 Timings ....................................................................................................................... 49
10.3 Seminar Notes ............................................................................................................ 50
10.4 Private Study Exercises .............................................................................................. 51
10.5 Tutorial Notes ............................................................................................................. 52
Topic 11: Array Data Structures ............................................................................................... 53
11.1 Learning Objectives .................................................................................................... 53
Page 4 of 60
SDT Student Guide v1.1
Title Here
11.2 Timings ....................................................................................................................... 53
11.3 Seminar Notes ............................................................................................................ 54
11.4 Private Study Exercises .............................................................................................. 55
11.5 Tutorial Notes ............................................................................................................. 56
Topic 12: Summary and Recap ................................................................................................ 57
12.1 Learning Objectives .................................................................................................... 57
12.2 Timings ....................................................................................................................... 57
12.3 Seminar Notes ............................................................................................................ 58
12.4 Private Study Exercises .............................................................................................. 59
12.5 Tutorial Notes ............................................................................................................. 60
Page 5 of 60
SDT Student Guide v1.1
Title Here
Page 6 of 60
SDT Student Guide v1.1
Overview
Page 7 of 60
SDT Student Guide v1.1
Title Here
3. Syllabus
Syllabus
Topic No Title Proportion Content
1 Introduction to 1/12 Introduction to the module
the Module and Definition and design of simple algorithms
the Software
Development
2 hours of Introduction to the software development
lectures process
Process
2 hours of The history of software development
seminars
1 hour of
tutorials
Learning Outcomes: 1 & 2
2 Desk-checking 1/12 Pseudocode Format
Desk-checking
2 hours of Commenting
lectures
2 hours of
seminars
1 hour of
tutorials Learning Outcomes: 2 & 6
5 Selection 1/12 If
Else
2 hours of Switch
lectures
Input validation
2 hours of
seminars
1 hour of
tutorials Learning Outcomes: 3 & 6
Page 8 of 60
SDT Student Guide v1.1
Title Here
6 Functions 1/12 Parameters
Return Types
2 hours of Scope
lectures
2 hours of
seminars
1 hour of
tutorials Learning Outcomes: 3, 4 & 7
Page 9 of 60
SDT Student Guide v1.1
Title Here
11 Data Structures 1/12 Lists
Stacks
2 hours of Queues
lectures
Recursion
2 hours of
seminars
1 hour of
tutorials Learning Outcomes: 4 & 5
The teacher-led time for this module is comprised of lectures, seminars, and tutorials. You will need
to bring this Student Guide to all classes for this module. The breakdown of the hours for each topic
is given in the topic notes below.
Page 10 of 60
SDT Student Guide v1.1
Title Here
5.1 Lectures
Your lecturer will be presenting the basic knowledge and the theoretical concepts required for the
unit during this time. He/she will use PowerPoint slides during the lecture time and you will be
expected to take notes.
You will also be encouraged to be active during this time and discuss and/or practice the concepts
covered. Lectures will include question and answer elements to promote participation and to allow
your lecturer to check whether you understand the concepts they are covering.
5.2 Tutorials
These are designed to deal with the questions arising from the lectures and private study sessions.
You should think carefully beforehand about any areas in which you might need additional guidance
and support and use this time to discuss these with your teacher.
5.3 Seminars
These sessions provide tasks to involve group work, investigation and independent learning for
certain topics. The details of these tasks are provided in this guide.
You should also use this time to revise the content of lectures to ensure understanding and conduct
extra reading (using the supplementary textbooks or other materials available in the library or
online). You should bring any questions to the tutorial for additional guidance and support.
6. Assessment
This module will be assessed by means of an examination worth 100% of the total mark. These
assessments will cover the learning outcomes and assessment criteria given above.
Lopp, M. (2010). Being Geek: The Software Developer’s Career Handbook. O’Reilly Media.
ISBN-10: 0596155409
ISBN-13: 978-0596155407
Page 11 of 60
SDT Student Guide v1.1
Title Here
Seibel, P. (2009). Coders at Work: Reflections on the Craft of Programming. APRESS.
ISBN-10: 1430219483
ISBN-13: 978-1430219484
Page 12 of 60
SDT Student Guide v1.1
Topic 1
1.2 Timings
Lectures: 2 hours
Seminars: 2 hours
Tutorials: 1 hour
Page 13 of 60
SDT Student Guide v1.1
Title Here
1.3 Seminar Notes
The time allocation for the seminar for this topic is 2 hours.
Think back to the lecture and discuss the nature of programme. What makes programming difficult?
Work with your group to think of a real world task where instructions are difficult to give in a precise,
comprehensive form. Write a list of instructions to complete the task.
You should prepare to present your example to the rest of your class.
Page 14 of 60
SDT Student Guide v1.1
Title Here
1.4 Private Study Exercises
You should spend approximately 7.5 hours on the Private Study for this topic. You should use this
time to complete the exercises below as directed by your lecturer and to review the contents of this
topic.
Pseudocode has a close relationship to flowcharts - they are two ways to look at the same thing.
While flowcharts aren't a part of this topic, they are very useful in helping you to explain how you
think a program should work. There are three main symbols in a simple flow chart as discussed on
this website: http://www.mindtools.com/pages/article/newTMC_97.htm
Spend some time researching flowcharts, and convert the pseudocode you developed during the
seminars into a flowchart representation.
This will give you a different method of visualising the way in which an algorithm functions, and
further develop your understanding of the algorithms you have encountered.
Develop and represent (either in pseudocode or as flowcharts) algorithms for the following tasks:
Exercise 3:
Revise the material presented in the lecture, and research these further to ensure a comprehensive
understanding of this and related topics. Use the internet, books and magazines to explore the
following questions:
1. X86 is a common assembly language – what are some others and what microprocessors
were they intended for?
Page 15 of 60
SDT Student Guide v1.1
Title Here
1.5 Tutorial Notes
The tutorials for this topic will last for 1 hour. You can expect to spend some of this time discussing
your answers to the Private Study exercises with your lecturer and other students. Your lecturer will
then direct you on completing the tasks below.
Compare the three algorithms you produced for Private Study Exercise 2 with those produced by
other students. Explain your reasoning.
Page 16 of 60
SDT Student Guide v1.1
Topic 2
Topic 2: Desk-Checking
2.2 Timings
Lectures: 2 hours
Seminars: 2 hours
Tutorials: 1 hour
Page 17 of 60
SDT Student Guide v1.1
Title Here
2.3 Seminar Notes
The time allocation for the seminar for this topic is 2 hours.
Activity 1:
1. A program that asks the user for two numbers. Output the remainder of the first number
divided by the second.
2. A program that asks the user for the radius of a circle and then provides the area (remember,
the area of a circle is given by taking the value of pi, and multiplying it by the square of the
radius)
3. A program that calculates the squared length of the hypotenuse of a right-angled triangle.
The program should ask the user for the length of the other two sides. (use Pythagoras
theorem for this)
Activity 2:
Desk-check, Identify and fix the flaw(s) in the following pseudocode program:
5 input speed
7 input distance
10 output speed
Page 18 of 60
SDT Student Guide v1.1
Title Here
2.4 Private Study Exercises
You should spend approximately 7.5 hours on the Private Study for this topic. You should use this
time to complete the exercises below as directed by your lecturer and to review the contents of this
topic.
Exercise 1:
Go through all the algorithms you wrote in the seminar, and comment on every line of pseudocode
that you put in place. Use whatever commenting style that you like, but give your explanation of
what you think each line of code is doing.
Exercise 2:
Go through all the algorithms you wrote in the Topic 1 seminar, and comment on every line of
pseudocode that you put in place. You might find this considerably more difficult than with exercise
one, but this highlights the importance of commenting – they’re notes for you (and others) when the
thinking behind the code is no longer fresh in your mind.
Exercise 3:
Review the lecture material and ensure that you are comfortable with everything discussed thus far.
Page 19 of 60
SDT Student Guide v1.1
Title Here
2.5 Tutorial Notes
The tutorials for this topic will last for 1 hour. You can expect to spend some of this time discussing
your answers to the Private Study exercises with your lecturer and other students. Your lecturer will
then direct you on completing the tasks below.
The importance of comments and pseudocode is that they make it possible for people who didn’t
write the algorithm to understand what it does and implement it in a language of their choice.
However, this only works if the logic is documented in a way that makes sense to other people.
During the tutorial, you will work in groups and desk-check each other’s work.
Be constructive in your criticism of the work of others. If you do not understand part of the logic and
the comments do not explain what is happening, ask for clarification. Peer review of code is a
process that is common in industry, and it is valuable to understand where your algorithms cause
other people problems, and where you have problems with the code that others provide to you.
Page 20 of 60
SDT Student Guide v1.1
Topic 3
3.2 Timings
Lectures: 2 hours
Seminars: 2 hours
Tutorials: 1 hour
Page 21 of 60
SDT Student Guide v1.1
Title Here
3.3 Seminar Notes
The time allocation for the seminar for this topic is 2 hours.
Activity 1:
Take the pseudocode and desk-checks that you performed for Activity 1 in the Topic 2 seminar.
Adapt your desk-check to take into account the formal statement of types. Add an additional column
that provides the memory usage of the algorithm at each step for both Java and C++.
Activity 2:
1. Ask the user for their forename and their surname, and then output both, separated by a
space, to the user.
2. Ask the user for five characters, and append each to a string. At the end of the user's input,
output the string to the user.
3. Ask the user for four numbers. Display those numbers in a 2 x 2 grid, in the order in which
they were entered.
Page 22 of 60
SDT Student Guide v1.1
Title Here
3.4 Private Study Exercises
You should spend approximately 7.5 hours on the Private Study for this topic. You should use this
time to complete the exercises below as directed by your lecturer and to review the contents of this
topic.
Exercise 1:
Go through all the algorithms you wrote in the seminar, and comment on every line of pseudocode
that you put in place. Use whatever commenting style that you like, but give your explanation of
what you think each line of code is doing.
Exercise 2:
As the concepts and desk-checking becomes more complicated each lecture, you should begin
keeping a journal of important notes and concepts. Supplement the material from each lecture with
the results from your own studies. Each week, your guide will contain some topics for you to
research and summarise - these will be your own personal revision and research guides, so make
sure you write them in such a way that you will understand the content. Include examples,
interesting slides and web-pages that you encounter during your research.
How to choose the right kind of data type when storing data
Exercise 3:
Prepare a short, five minute presentation on the results of your research for Exercise 2 above. If
you have found out anything particularly interesting, you should focus on that as a priority.
Exercise 4:
Review the lecture material and ensure that you are comfortable with everything discussed thus far.
Page 23 of 60
SDT Student Guide v1.1
Title Here
3.5 Tutorial Notes
The tutorials for this topic will last for 1 hour. You can expect to spend some of this time discussing
your answers to the Private Study exercises with your lecturer and other students. Your lecturer will
then direct you on completing the tasks below.
As a result of the research you did during your private study time, you should have a short five
minute presentation ready to give to the rest of the class. There is no need for this to be especially
formal - you are simply reporting on anything interesting that you found during your research, or
pointing out especially useful resources on the topic. Bring your journal along to the class so that
you can make a note of anything especially useful that your classmates have mentioned. This is a
knowledge dissemination exercise; you are not being formally assessed on the style or content of
the presentation.
Page 24 of 60
SDT Student Guide v1.1
Topic 4
Topic 4: Iteration
4.2 Timings
Lectures: 2 hours
Seminars: 2 hours
Tutorials: 1 hour
Page 25 of 60
SDT Student Guide v1.1
Title Here
4.3 Seminar Notes
The time allocation for seminars in this topic is 2 hours.
Activity 1:
Develop the pseudocode and desk-check algorithms for the following tasks:
2. Ask the user for a number. Print out a square of stars with sides that length.
3. Ask the user for four numbers. Use those numbers to create a horizontal histogram graph.
Activity 2:
Develop the pseudocode, and condense the desk-check for the following problems:
Page 26 of 60
SDT Student Guide v1.1
Title Here
4.4 Private Study Exercises
You should spend approximately 7.5 hours on the Private Study for this topic. You should use this
time to complete the exercises below as directed by your lecturer and to review the contents of this
topic.
Exercise 1:
Go through all the algorithms you wrote in the seminar, and comment on every line of pseudocode
that you put in place. Use whatever commenting style that you like, but give your explanation of
what you think each line of code is doing.
Exercise 2:
As part of your ongoing journal exercise, you should research the following topics:
Exercise 3:
Prepare a short, five minute presentation on the results of your research for Exercise 2 above. If
you have found out anything particularly interesting, you should focus on that as a priority.
Exercise 4:
Review the lecture material and ensure that you are comfortable with everything discussed thus far.
Page 27 of 60
SDT Student Guide v1.1
Title Here
4.5 Tutorial Notes
The tutorials for this topic will last for 1 hour. You can expect to spend some of this time discussing
your answers to the Private Study exercises with your lecturer and other students. Your lecturer will
then direct you on completing the tasks below.
As a result of the research you did during your private study time, you should have a short five
minute presentation ready to give to the rest of the class. There is no need for this to be especially
formal - you are simply reporting on anything interesting that you found during your research, or
pointing out especially useful resources on the topic. Bring your journal along to the class so that
you can make a note of anything especially useful that your classmates have mentioned. This is a
knowledge dissemination exercise; you are not being formally assessed on the style or content of
the presentation.
Page 28 of 60
SDT Student Guide v1.1
Topic 5
Topic 5: Selection
5.2 Timings
Lectures: 2 hours
Seminars: 2 hours
Tutorials: 1 hour
Page 29 of 60
SDT Student Guide v1.1
5.3 Seminar Notes
The time allocation for the seminars for this topic is 2 hours.
Activity 1:
1. Outputting all the numbers from one to twenty, highlighting if they are odd or even
2. Ask the user for a number. Print out a right angled triangle of stars with sides that length.
3. Ask the user for a number. Print out the factorial of all of the numbers up to their number.
4. Ask the user for a number. Print out if that number is a prime number
Activity 2:
1. a OR (b AND c)
2. (a AND b) OR (c AND d)
3. (a OR b) AND (c OR d)
Page 30 of 60
SDT Student Guide v1.1
5.4 Private Study Exercises
You should spend approximately 7.5 hours on the Private Study for this topic. You should use this
time to complete the exercises below as directed by your lecturer and to review the contents of this
topic.
Exercise 1:
Go through all the algorithms you wrote in the seminar, and comment on every line of pseudocode
that you put in place. Use whatever commenting style that you like, but give your explanation of
what you think each line of code is doing.
Exercise 2:
As part of your ongoing journal exercise, you should research the following topics:
Truth tables
Nesting in programming.
Exercise 3:
Prepare a short, five minute presentation on the results of your research for Exercise 2 above. If
you have found out anything particularly interesting, you should focus on that as a priority.
Exercise 4:
Review the lecture material and ensure that you are comfortable with everything discussed thus far.
Page 31 of 60
SDT Student Guide v1.1
5.5 Tutorial Notes
The tutorials for this topic will last for 1 hour. You can expect to spend some of this time discussing
your answers to the Private Study exercises with your lecturer and other students. Your lecturer will
then direct you on completing the tasks below.
As a result of the research you did during your private study time, you should have a short five
minute presentation ready to give to the rest of the class. There is no need for this to be especially
formal - you are simply reporting on anything interesting that you found during your research, or
pointing out especially useful resources on the topic. Bring your journal along to the class so that
you can make a note of anything especially useful that your classmates have mentioned. This is a
knowledge dissemination exercise; you are not being formally assessed on the style or content of
the presentation.
Page 32 of 60
SDT Student Guide v1.1
Topic 6
Topic 6: Functions
6.2 Timings
Lectures: 2 hours
Seminars: 2 hours
Tutorials: 1 hour
Page 33 of 60
SDT Student Guide v1.1
6.3 Seminar Notes
The time allocation for the seminars for this topic is 2 hours.
Activity 1:
For the purposes of these exercises only, your functions can handle output where appropriate.
Develop the pseudocode (using functions) and desk-check for the following:
1. Ask the user for a number. Print out a series of squares of stars in increasing size up to the
number provided by the user.
2. Ask the user for a number. Print out a series of waves in increasing size up to the number
provided by the user.
3. Ask the user for a number, and then for a minimum and maximum. Include a function that
tells whether or not the first number lies between the minimum and maximum.
4. Modify your solution to problem 1 so that it allows the user to specify a symbol instead of a
star.
* *
** *
** **
*
***
*** *
*** **
***
**** **
**** *
****
**** *
**
***** ***
***** ****
***** ***
***** **
***** *
Page 34 of 60
SDT Student Guide v1.1
6.4 Private Study Exercises
You should spend approximately 7.5 hours on the Private Study for this topic. You should use this
time to complete the exercises below as directed by your lecturer and to review the contents of this
topic.
Exercise 1:
Go through all the algorithms you wrote in the seminar, and comment on every line of pseudocode
that you put in place. Use whatever commenting style you like, but give your explanation of what
you think each line of code is doing.
Exercise 2:
As part of your ongoing journal exercise, you should research the following topics:
Function design
Variable scope
Exercise 3:
Prepare a short, five minute presentation on the results of your research for Exercise 2 above. If
you have found out anything particularly interesting, you should focus on that as a priority.
Exercise 4:
Review the lecture material and ensure that you are comfortable with everything discussed thus far.
Page 35 of 60
SDT Student Guide v1.1
6.5 Tutorial Notes
The tutorials for this topic will last for 1 hour. You can expect to spend some of this time discussing
your answers to the Private Study exercises with your lecturer and other students. Your lecturer will
then direct you on completing the tasks below.
As a result of the research you did during your private study time, you should have a short five
minute presentation ready to give to the rest of the class. There is no need for this to be especially
formal - you are simply reporting on anything interesting that you found during your research, or
pointing out especially useful resources on the topic. Bring your journal along to the class so that
you can make a note of anything especially useful that your classmates have mentioned. This is a
knowledge dissemination exercise; you are not being formally assessed on the style or content of
the presentation.
Page 36 of 60
SDT Student Guide v1.1
Topic 7
7.2 Timings
Lectures: 2 hours
Seminars: 2 hours
Tutorials: 1 hour
Page 37 of 60
SDT Student Guide v1.1
7.3 Seminar Notes
The time allocation for the seminars for this topic is 2 hours.
Activity 1:
Develop white and black box test sets for the functions you wrote in the Topic 6 seminar. For those
functions that have no return types, track their output for each test case as the 'actual' result.
Activity 2:
Run a desk-check through each of your functions, using the test-sets that you generated.
Activity 3
returning boolean
4 counter = 2
5 isPrime = true
8 if tmp is 0 then
9 return false
10 end if
11 counter = counter + 1
12 next loop
13 return true
End Function
Page 38 of 60
SDT Student Guide v1.1
7.4 Private Study Exercises
You should spend approximately 7.5 hours on the Private Study for this topic. You should use this
time to complete the exercises below as directed by your lecturer and to review the contents of this
topic.
Exercise 1:
Go through all the algorithms you wrote in the seminar, and comment on every line of pseudocode
that you put in place. Use whatever commenting style that you like, but give your explanation of
what you think each line of code is doing.
Exercise 2:
As part of your ongoing journal exercise, you should research the following topics:
Integration testing
Testing harnesses
Exercise 3:
Prepare a short, five minute presentation on the results of your research for Exercise 2 above. If
you have found out anything particularly interesting, you should focus on that as a priority.
Exercise 4:
Review the lecture material and ensure that you are comfortable with everything discussed thus far.
Page 39 of 60
SDT Student Guide v1.1
7.5 Tutorial Notes
The tutorials for this topic will last for 1 hour. You can expect to spend some of this time discussing
your answers to the Private Study exercises with your lecturer and other students. Your lecturer will
then direct you on completing the tasks below.
As a result of the research you did during your private study time, you should have a short five
minute presentation ready to give to the rest of the class. There is no need for this to be especially
formal - you are simply reporting on anything interesting that you found during your research, or
pointing out especially useful resources on the topic. Bring your journal along to the class so that
you can make a note of anything especially useful that your classmates have mentioned. This is a
knowledge dissemination exercise; you are not being formally assessed on the style or content of
the presentation.
Page 40 of 60
SDT Student Guide v1.1
Topic 8
Topic 8: Arrays
Declare arrays;
Use arrays in pseudocode;
Desk-check arrays in pseudocode.
8.2 Timings
Lectures: 2 hours
Seminars: 2 hours
Tutorials: 1 hour
Page 41 of 60
SDT Student Guide v1.1
8.3 Seminar Notes
The time allocation for the seminars for this topic is 2 hours.
Activity 1:
Develop the pseudocode for, desk-check and test the following programs. As in the lecture slides,
you should allow the user to provide the number of elements, and initialise the array according to
their input. You should use functions where appropriate to ensure modularity.
Activity 2:
Making use of a two-dimensional array, write the code that permits two players to play a game of tic-
tac-toe (also known as noughts and crosses). Use 0 to represent an empty square, 1 to represent a
cross, and 2 to represent a nought.
You should include pseudocode to handle all of these. You should desk-check your solutions to
make sure they work, but formal testing of these is not required during this activity.
Page 42 of 60
SDT Student Guide v1.1
8.4 Private Study Exercises
You should spend approximately 7.5 hours on the Private Study for this topic. You should use this
time to complete the exercises below as directed by your lecturer and to review the contents of this
topic.
Exercise 1:
Go through all the algorithms you wrote in the seminar, and comment on every line of pseudocode
that you put in place. Use whatever commenting style that you like, but give your explanation of
what you think each line of code is doing.
Exercise 2:
If you did not complete the second activity in the seminar, complete it during your own private study
time.
Exercise 3:
Increase the robustness of your solution to the second activity in the seminar by making sure users
cannot enter invalid array values (what happens if they enter 10 for X and -20 for Y?).
Exercise 4:
As part of your ongoing journal exercise, you should research the following topics:
Spend a time considering how you might represent these two systems using one and two
dimensional arrays.
Exercise 5:
Prepare a short, five minute presentation on the results of your research for Exercise 4 above. If
you have found out anything particularly interesting, you should focus on that as a priority.
Exercise 6:
Review the lecture material and ensure that you are comfortable with everything discussed thus far.
Page 43 of 60
SDT Student Guide v1.1
8.5 Tutorial Notes
The tutorials for this topic will last for 1 hour. You can expect to spend some of this time discussing
your answers to the Private Study exercises with your lecturer and other students. Your lecturer will
then direct you on completing the tasks below.
As a result of the research you did during your private study time, you should have a short five
minute presentation ready to give to the rest of the class. There is no need for this to be especially
formal - you are simply reporting on anything interesting that you found during your research, or
pointing out especially useful resources on the topic. Bring your journal along to the class so that
you can make a note of anything especially useful that your classmates have mentioned. This is a
knowledge dissemination exercise; you are not being formally assessed on the style or content of
the presentation.
Page 44 of 60
SDT Student Guide v1.1
Topic 9
Topic 9: Algorithms
9.2 Timings
Lectures: 2 hours
Seminars: 2 hours
Tutorials: 1 hour
Page 45 of 60
SDT Student Guide v1.1
9.3 Seminar Notes
The time allocation for the seminars for this topic is 2 hours.
Activity 1:
Using the lecture slides as a guide, write the pseudocode for performing a binary search on an
ordered array.
Activity 2:
Develop test data and run the desk-checks to ensure the correctness of your binary search
pseudocode outlines above.
Activity 3:
Develop the test-data and run the desk-checks to show the correctness of the bubble sorts and
quick sorts shown in the lecture slides.
Page 46 of 60
SDT Student Guide v1.1
9.4 Private Study Exercises
You should spend approximately 7.5 hours on the Private Study for this topic. You should use this
time to complete the exercises below as directed by your lecturer and to review the contents of this
topic.
Exercise 1:
Go through all the algorithms you wrote in the seminar, and comment on every line of pseudocode
that you put in place. Use whatever commenting style that you like, but give your explanation of
what you think each line of code is doing.
Exercise 2:
If you did not complete the desk-checking of the provided lecture algorithms, then develop your test
data and desk-check them.
Exercise 3:
As part of your ongoing journal exercise, you should research the following topics:
Big O Notation
Recursion
Insertion Sort
Shell Sort
Exercise 4:
Prepare a short, five minute presentation on the results of your research for Exercise 2 above. If
you have found out anything particularly interesting, you should focus on that as a priority.
Exercise 5:
Review the lecture material and ensure that you are comfortable with everything discussed thus far.
Page 47 of 60
SDT Student Guide v1.1
9.5 Tutorial Notes
The tutorials for this topic will last for 1 hour. You can expect to spend some of this time discussing
your answers to the Private Study exercises with your lecturer and other students. Your lecturer will
then direct you on completing the tasks below.
As a result of the research you did during your private study time, you should have a short five
minute presentation ready to give to the rest of the class. There is no need for this to be especially
formal - you are simply reporting on anything interesting that you found during your research, or
pointing out especially useful resources on the topic. Bring your journal along to the class so that
you can make a note of anything especially useful that your classmates have mentioned. This is a
knowledge dissemination exercise; you are not being formally assessed on the style or content of
the presentation.
Page 48 of 60
SDT Student Guide v1.1
Topic 10
10.2 Timings
Lectures: 2 hours
Seminars: 2 hours
Tutorials: 1 hour
Page 49 of 60
SDT Student Guide v1.1
10.3 Seminar Notes
The time allocation for the seminars for this topic is 2 hours.
Activity 1:
Design the classes for the following data structures. Classes should have accessor methods for all
data stored within. Provide constructors where appropriate.
1. Cars, including type, engine size, recommended retail price, licence plates, and registered
owner.
2. Books, including name, author (of which there may be more than one), genre and ISBN
3. Albums, including name, artist, and track list (where tracks may be performed by multiple
artists)
Activity 2:
Write a test program that allows users to create new instances of your classes for each of the
exercises above, and then query the results. Assume you need to store a maximum of ten of these
at a time. Desk-check your program with suitable test-data.
Page 50 of 60
SDT Student Guide v1.1
10.4 Private Study Exercises
You should spend approximately 7.5 hours on the Private Study for this topic. You should use this
time to complete the exercises below as directed by your lecturer and to review the contents of this
topic.
Exercise 1:
Go through all the algorithms you wrote in the seminar, and comment on every line of pseudocode
that you put in place. Use whatever commenting style that you like, but give your explanation of
what you think each line of code is doing.
Exercise 2:
As part of your ongoing journal exercise, you should research the following topics:
Class design
Accessor methods
Constructor design
Exercise 3:
Prepare a short, five minute presentation on the results of your research for Exercise 2 above. If
you have found out anything particularly interesting, you should focus on that as a priority.
Exercise 4:
Review the lecture material and ensure that you are comfortable with everything discussed thus far.
Page 51 of 60
SDT Student Guide v1.1
10.5 Tutorial Notes
The tutorials for this topic will last for 1 hour. You can expect to spend some of this time discussing
your answers to the Private Study exercises with your lecturer and other students. Your lecturer will
then direct you on completing the tasks below.
As a result of the research you did during your private study time, you should have a short five
minute presentation ready to give to the rest of the class. There is no need for this to be especially
formal - you are simply reporting on anything interesting that you found during your research, or
pointing out especially useful resources on the topic. Bring your journal along to the class so that
you can make a note of anything especially useful that your classmates have mentioned. This is a
knowledge dissemination exercise; you are not being formally assessed on the style or content of
the presentation.
Page 52 of 60
SDT Student Guide v1.1
Topic 11
11.2 Timings
Lectures: 2 hours
Seminars: 2 hours
Tutorials: 1 hour
Page 53 of 60
SDT Student Guide v1.1
11.3 Seminar Notes
The time allocation for the seminars for this topic is 2 hours.
Activity 1:
Develop the pseudocode, input data and desk-checks for generic versions of the following data
structures:
Queue
Stack
Activity 2:
Making use of the appropriate data structure from what you created above, create a program that
determines whether or not a given word is a palindrome. Test and desk-check your solution.
Page 54 of 60
SDT Student Guide v1.1
11.4 Private Study Exercises
You should spend approximately 7.5 hours on the Private Study for this topic. You should use this
time to complete the exercises below as directed by your lecturer and to review the contents of this
topic.
Exercise 1:
Go through all the algorithms you wrote in the seminar, and comment on every line of pseudocode
that you put in place. Use whatever commenting style that you like, but give your explanation of
what you think each line of code is doing.
Exercise 2:
As part of your ongoing journal exercise, you should research the following topics:
Recursion
Exercise 3:
Prepare a short, five minute presentation on the results of your research for Exercise 2 above. If
you have found out anything particularly interesting, you should focus on that as a priority.
Exercise 4:
Review the lecture material and ensure that you are comfortable with everything discussed thus far.
Page 55 of 60
SDT Student Guide v1.1
11.5 Tutorial Notes
The tutorials for this topic will last for 1 hour. You can expect to spend some of this time discussing
your answers to the Private Study exercises with your lecturer and other students. Your lecturer will
then direct you on completing the tasks below.
As a result of the research you did during your private study time, you should have a short five
minute presentation ready to give to the rest of the class. There is no need for this to be especially
formal - you are simply reporting on anything interesting that you found during your research, or
pointing out especially useful resources on the topic. Bring your journal along to the class so that
you can make a note of anything especially useful that your classmates have mentioned. This is a
knowledge dissemination exercise; you are not being formally assessed on the style or content of
the presentation.
Page 56 of 60
SDT Student Guide v1.1
Topic 12
12.2 Timings
Lectures: 2 hours
Seminars: 2 hours
Tutorials: 1 hour
Page 57 of 60
SDT Student Guide v1.1
12.3 Seminar Notes
The time allocation for the seminars for this topic is 2 hours.
Activity 1:
Pick four of your pseudocode programs from the past few weeks and convert them into Java code.
Activity 2:
If there are exercises in the Student Guide that you have not yet completed, go back and do so now.
Page 58 of 60
SDT Student Guide v1.1
12.4 Private Study Exercises
You should spend approximately 7.5 hours on the Private Study for this topic. You should use this
time to complete the exercises below as directed by your lecturer and to review the contents of this
topic.
Exercise 1:
Go through all the code you wrote in the seminar, and comment on every line of Java that you put in
place. Use whatever commenting style that you like, but give your explanation of what you think
each line of code is doing.
Exercise 2:
Review the lecture material and ensure that you are comfortable with everything discussed thus far.
If there are topics that you are not entirely sure of, make a note of them so they can be discussed
during the tutorial. This exercise is designed to help you with your examination revision.
Page 59 of 60
SDT Student Guide v1.1
12.5 Tutorial Notes
The tutorials for this topic will last for 1 hour. You can expect to spend some of this time discussing
your answers to the Private Study exercises with your lecturer and other students. Your lecturer will
then direct you on completing the tasks below.
Exercise 1: Revision
As a result of your reviewing in your private study, you may have come up with revision questions to
discuss in class. Raise them now with your lecturer.
Page 60 of 60
SDT Student Guide v1.1