# SDD Marathon 2013 (1 Viewer)

#### hjed

##### Member
i. Data
ii. A checksum (also known as a parity bit) compares if the sum of binary digits is odd or even. For example an even parity bit will set to one if the number of bits including the parity bit is even. A CRC uses a more complex algorithm to compute a longer code word, a CRC is better a detecting errors than a parity bit which only notice if an odd number of bits are flipped, however they require more computing power to create and use up more space in the data packet, making transmission slower.
(BTW I don't think CRCs are in the sylabus, they certainly aren't in the Samuel Davis textbook)

Here's another six marker (from the preliminary course, but still testable):
Describe the operation of a computer input device. (6)

#### hjed

##### Member
I'd say data streams, considering the previous 2 questions are data stream related.
Yeah I can't think of three error checking methods for data streams though.

#### schlep16

##### Member
Im pretty sure your incorrect there...
My notes state:
-
Trailer:
Checksum
-Error checking method adds up the binary digits in the data and send the total
-Can be amount of 1’s OR the total of all 1’s (or 0’s) added together
-Works well with a min of 32 bits, if short, wont work as well as its wasting resources
-Better at identifying an error than parity bit
-Header tells how often there will be a checksum
CRC
-The header contains the number that the total will be divided by
-Also, in header it tells it how often its going to check
-After each sections its going to divide that total by the number determined in the header
-If sends how mich it is divided by in the header, the last bit of the packet sent is the remainder, so at the end of the entire stream its ends the trailer which makes sure all data has been sent.
-Same as checksum and it just divides the total by a prime # (this is established in the header)
Parity:
• When using ODD parity it has to be an ODD number of 1’s, if its an even amount of 1’s, add another 1 onto the end, f its odd you add a zero to the end to remain odd
• When using EVEN parity, there has to be an even amount of 1’s. If the 1’s are odd another 1 is added to the end, if the amount of 1’s are EVEN, then it adds a 0 to the end to remain even
-Used with small data packets up to around 8
-If there is a fault in transmission of data it may not pick it up depending on odd/even, it may result in missed info
-Longer the section of stream being check, the more likely hood parity wont work
-An extra ‘bit’ in each of the data sent
-you can either have even (1) or odd (0)
-the extra ‘bit’ tells receiver if there is an error

#### hjed

##### Member
Thanks. We didn't cover error checking in very much detail, now that you post that I do remember reading about checksums somewhere.
Out of interest what was your source for your notes? The Davies book doesn't cover that in very much detail.

#### Shazer2

##### Member
I can't really remember covering data stream error checking either.

#### hjed

##### Member
Ok here a few more questions:

1.Describe the operation of a computer input device. (6)
2. Compare and Contrast Primary and Secondary Storage (3)
3. List the components of a system (2)

#### Shazer2

##### Member
I'm not sure what sort of thing you're looking for for 6 marks, but I'd start with something like:

1. A computer input device has a number of operations. Most notably, it allows the user to interact and interface with the system.

2. Primary and secondary storage are two separate methods of storage that differ greatly. The main difference is that primary storage can be directly accessed by the CPU, whereas secondary storage can't. Secondary storage also doesn't lose data as the system is powered down, whereas primary storage does.

3. Not sure, I don't really remember doing this.

Last edited:

#### schlep16

##### Member
Ok here a few more questions:

1.Describe the operation of a computer input device. (6)
2. Compare and Contrast Primary and Secondary Storage (3)
3. List the components of a system (2)
That question 1.
what the hell.
They would never give a 6 marker question....from a year 11 syllabus...thats usually a 1 marker, 2 max, and in multiple choice.
Furthermore, you cant exactly explain (through the teachings of the syllabus and textbook) this answer in 6 mark detail. Not enough key points (like causes, effects, sources, pos, neg, outcomes, etc)
Primary and secondary storage. I dont know haha, partly i cbf to answer it write now.
List the components of a system....
what do u mean?
The CPU?
or a system like keyboard, mouse, monitor etc.
Or maybe the components of the 'tower' (RAM, CPU, wires, graphics cards etc)
Also, 2 marks... suggests only 2 points, 4 max....so...idk whats going on there

#### hjed

##### Member
I'm not sure what sort of thing you're looking for for 6 marks, but I'd start with something like:

1. A computer input device has a number of operations. Most notably, it allows the user to interact and interface with the system.
For this one I was thinking of a specific computer input device, for example:

A keyboard is a computer input device that provides input in the form of character data. A keyboard operates by containing a grid of electric circuits, when a key is pressed it connects circuits on the grid, allowing the on board controller to determine the location of the key. The controller detects the button press due to the change in voltage when the key is pressed. The on board controller then sends a 'scan code' as part of a data packet to the computer this is stored in onboard memory as an interrupt request until the operating system has change to respond, the keyboard driver then converts this code to a known character which is acted upon. When the key is released another data packet is sent to the computer indicating which key is released.

(For six marks I'd also include some kind of diagram, maybe of a key being pressed)

2. Primary and secondary storage are two separate methods of storage that differ greatly. The main difference is that primary storage can be directly accessed by the CPU, whereas secondary storage can't. Secondary storage also doesn't lose data as the system is powered down, whereas primary storage does.
This one is good.

3. Not sure, I don't really remember doing this.
It's people, procedures, hardware, software and data.

Nb. the first and last questions are from the preliminary course, but they can still ask them.

#### hjed

##### Member
That question 1.
what the hell.
They would never give a 6 marker question....from a year 11 syllabus...thats usually a 1 marker, 2 max, and in multiple choice.
Furthermore, you cant exactly explain (through the teachings of the syllabus and textbook) this answer in 6 mark detail. Not enough key points (like causes, effects, sources, pos, neg, outcomes, etc)
Primary and secondary storage. I dont know haha, partly i cbf to answer it write now.
List the components of a system....
what do u mean?
The CPU?
or a system like keyboard, mouse, monitor etc.
Or maybe the components of the 'tower' (RAM, CPU, wires, graphics cards etc)
Also, 2 marks... suggests only 2 points, 4 max....so...idk whats going on there
Didn't see this when I posted my reply.

The elements of the system is a prelim dot point, they are people, procedures, hardware, software and data. It's two marks because all you have to do is name them, usually you get one mark for getting two and two for getting all of them or all but one or something like that.

The input device one is quite a reasonable question and is complicated enough that they could ask it. You'd probably get 3 marks for the physical operation and 2 for how it connects to the computer. My keyboard examples a bit poor, with a microphone or a scanner you could easily write six marks worth.

#### schlep16

##### Member
fuck hjed...........................
now i feel like an absolute moron lol.

Fine, ill get you on a hard one.
(Alright this is out of my own head, sorry for grammar errors, logic errors, contradictions, etc all that shit)

A large American College has recently run into some issues regarding the storage of student's details and the saving of student work to the server. The College has 12,000 students in its database which is saved to a local server. The students can only save their information to the local server if they are using one of the college offered computers. The college does not want to spend more money building new servers for more storage, nor do they want to look into offering their own cloud computing network for various reasons..but they need more storage.

i. Analyse the positive and negatives of saving information to a local server oppose to cloud? (4)
ii. How could the College overcome their storage issues? (4)
iii. Define feasibility (1)
iv. From one of the answers you have given in question (ii) explain how the different forms of feasibility must be understood and met before implementing this new storage method. (6)
V. Which method of implementation would be best suited for your answer in question (ii) and why? (3)

Fuck that was fun making that shit up.
GOOD LUCK!!!!

Whose next?

Last edited:

#### hjed

##### Member
Challenge accepted

BTW I am assuming that the college is actually willing to go with one of the two options, as you question could imply they will accept neither.

i.
• Cheaper initial cost, with Cloud services you pay a subscription meaning that there are minimal setup costs, unlike local where new hardware has to be purchased at high expense
• Easier Offsite access - Cloud is already off site so the applications used to access it from the college campus could also be used by students and staff at home. This provides the college with the option of enabling off site access. Offsite access could be setup from local storage, but would be harder to maintain and more expensive to setup.
• Reliability - a single local server is far less reliable then a cloud system, which will usually have redundancies to reduce downtime
• Privacy - Local storage is controlled by the college, as personal data is being stored it could be risky to upload this data to the cloud. It could also result in data being stored in another jurisdiction which could be illegal or allow data to be used inappropriately. If the student data contains health records, or information on military research it would be illegal to transfer overseas without appropriate protection.
• Expand existing system - the college already has an existing local system expanding this would require a lower learning curve for users of the existing system, reducing training costs.

(Could write more, but not worth it timewise for four marks)

ii. The college could overcome their storage issues in a number of ways. The most effective method would be to keep the local server to store student details, whilst using cloud storage for storage of student's files. Without the burden of acting as file servers, the student database should be able to continue running on the existing infrastructure. This would reduce costs, and protect student privacy. This would mean that no money would have to be spent redesigning the database system to access cloud computers and the database of records will probably only need to be accessed on campus. The storage system could then be moved to the cloud, as many providers such as google offer significant free storage, and discounts for education institutions, this would allow for the cheap storage of student files on a well tested system. As the system already exists it means that implementation could be done with minimal disruption, using a phased method and students would also be able to access their data from home.

iii. feasibility is the measure of how reasonable it is to implement a project. It is the process of considering economic, social and ethical, technical and scheduling and determining if the project should continue (Nb. the focus on feasibility was removed when they introduced the new syllabus)

iv. (again feasibility studies aren't included in the new syllabus, there isn't a single mention of the word feasibility in it. This dot point was completely removed)

v. (Installation method?) The most effective method would be a phased method. As the existing server infrastructure is not being removed, simply converted to only run the database, it would be cost effective to slowly transfer groups of users to the new system. (Either by year or by faculty.) Users could then have time to transfer data, and the system could be tested under lower real loads allowing problems to be resolved before all users are transferred. Once the transfer of student data was complete the database could be expanded to use all server resources, this would be the final phase of installation. In a college environment users are unlikely to co-operate to implement a parallel approach, making a phased one superior. Also a phased approach would be less risky then a direct cut-over.

I'll post another question in about 1/2 an hour

#### hjed

##### Member
ok, next question:

A software development company has been commissioned to create a train time tabling program, which will provide live timetable updates to user on an Android Smartphone platform. The timetable apps will receive gps locations of trains, as well as timetabled stops and display trains eta at any given station. The apps will also allow users to calculate the time taken to travel between two different trains.
The app will also be used by first responders to locate trains in the event of an emergency.

a) The company decides to use a combination of two development approaches. Describe which two approaches would work the best for this app, and why it would be better to use two approaches then just a single approach. Justify your answer. (6)

b) Draw a context diagram of the system. (2) [My favourite way of doing this electronically is to use the free tool, dia]

C) The smartphone app will contain a file called stops which is a sequential, unsorted file containing records. The records consist of four fields: train_number, which indicates the train the stops is for; stop_number which indicates the order the train stops at the station; station_name which stores the name of the station, and distance which stores the distance from the previous station in meters.
Trains stop for two minutes at each station, and then travel at a constant 30km/h.
i. Create a data dictionary for the fields in the record. (4)
ii. Write an algorithm for the module timeTo(currentTime, currentStopName, trainNumber) which uses the stops file to determine what time the train will arrive at it's next stop. (7)

Have fun!

#### xer0

##### Member
iii. Define feasibility (1)
Feasibility is not in the new syllabus for Software. The new syllabus is in effect from the 2012 HSC onwards.

If you're gonna do a marathon thread, then get SDD questions from past papers or similar to past papers/trial papers.

Last edited:

#### xer0

##### Member
Contribooting some questions 'cus marathon thread

1) Name the THREE main stages involved in the translation of a programming language. (2)
2) Explain the use of a parse tree and token passing in the second stage of translation (4)
3) Compare the structured development approach with the agile approach (4)
4) What are the differences between pre-test, post-test and counted loops (3)
5) Write a EBNF expression that will allow for: One or more letters, a digit, zero or more letters, zero or more digits, letter, one or more digits. For example, this would be a legal expression: GIIQANASK8K2 (4)

Have fun guys.

#### schlep16

##### Member
1. Syntacitcal Analysis, Lexical analysis, code generation
2. (idk i have to learn)
3. Structured is in stages. Better for big development. Better defined product. Agile can work with a prototype (or is that structured). Works in groups. Focuses on efficiency.
4. Pre test loop states the condition first. WHILE this. DO. Endwhile. Post test runs the condition at the end. REPEAT process UNTIL this happens. Counted loop ... i cant really exlain
5. ...............no lol cant do taht hahaha

#### hjed

##### Member
Contribooting some questions 'cus marathon thread

1) Name the THREE main stages involved in the translation of a programming language. (2)
2) Explain the use of a parse tree and token passing in the second stage of translation (4)
3) Compare the structured development approach with the agile approach (4)
4) What are the differences between pre-test, post-test and counted loops (3)
5) Write a EBNF expression that will allow for: One or more letters, a digit, zero or more letters, zero or more digits, letter, one or more digits. For example, this would be a legal expression: GIIQANASK8K2 (4)

Have fun guys.
1) Lexical Analysis, syntactical analysis, code generation
2) The second stage of compilation is syntactical analysis. In this stage the 'grammar' of the high level language is checked to confirm that all statements are valid. Syntactical analysis converts the strings of tokens created in the lexical analysis stage into a parse tree. A parse tree is a sequence of tokens that is organised in a manner similar to a railroad diagram, parse trees break statements of blocks of code into branched structures. For example a parse tree for:
IF a DO
ELSE IF b DO
b
ENDIF
Would first place the token representing the if statement, it would then branch into the tokens representation the two conditions.

(not sure what exactly you mean by token passing, hoping I covered it in that)

3) The structured approach is strictly sequential and each stage of the software development process must be complete before the next one can be begun. This is unlike the agile approach where stages of development can often overlap and are repeated, as new features are added or refined.The structured approach allows task to be devided easily for large teams, something which is not possible in an agile approach where small teams are usually used. The agile approach has heavy user involvement throughout the development process whilst the structured approach usually only has user involvement during the defining and understand, and testing and evaluating stages. In a structured approach early mistakes can be very expensive if discovered latter on as often a large amount of code most be redone or redesigned, agile approaches are much more felixable with such errors.

4) Both pre and post-test loops test a condition to determine whether to continue looping. Pre-test loops test this condition at the start of every loop, including before the first loop. It is possible for a pre-test loop to execute 0 times, whilst a post-test loop which checks the condition at the end of every loop must run once. A counted loop runs a set number of times, checking a condition at neither the start nor the end.

5)(assuming definition of letter and digit is provided)
expression = <letter>{<letter>}<digit>{<letters>}{<digit>}<letter>{<digit>}

For the next question, no one has answered this yet:
A software development company has been commissioned to create a train time tabling program, which will provide live timetable updates to user on an Android Smartphone platform. The timetable apps will receive gps locations of trains, as well as timetabled stops and display trains eta at any given station. The apps will also allow users to calculate the time taken to travel between two different trains.
The app will also be used by first responders to locate trains in the event of an emergency.

a) The company decides to use a combination of two development approaches. Describe which two approaches would work the best for this app, and why it would be better to use two approaches then just a single approach. Justify your answer. (6)

b) Draw a context diagram of the system. (2) [My favourite way of doing this electronically is to use the free tool, dia]

C) The smartphone app will contain a file called stops which is a sequential, unsorted file containing records. The records consist of four fields: train_number, which indicates the train the stops is for; stop_number which indicates the order the train stops at the station; station_name which stores the name of the station, and distance which stores the distance from the previous station in meters.
Trains stop for two minutes at each station, and then travel at a constant 30km/h.
i. Create a data dictionary for the fields in the record. (4)
ii. Write an algorithm for the module timeTo(currentTime, currentStopName, trainNumber) which uses the stops file to determine what time the train will arrive at it's next stop. (7)
Also some questions from the hardware option:

1) Simplify (AB + AB)A (2)
2) Create a truth table for D = (AB + AC)BC (3)

#### xer0

##### Member
1) simplify (ab + ab)a (2)
2) create a truth table for d = (ab + ac)bc (3)
1)
(ab + ab)a
= a(ab+ab)
= a(ab(1+1))
= a(ab)
= aab
= ab

2)
 a b c d 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1

EDIT: Everything's changed into lowercase for some reason :/

Last edited:

#### Shazer2

##### Member
1)
(ab + ab)a
= a(ab+ab)
= a(ab(1+1))
= a(ab)
= aab
= ab

2)
 a b c d 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1

EDIT: Everything's changed into lowercase for some reason :/
Could you explain both your solutions here?

#### xer0

##### Member
Could you explain both your solutions here?
Read the boolean algebra rules on page 451 in Sam Davis' book or look them up online. The following rules are from the SDD textbook by Samuel Davis
(AB + AB)A
= A(AB+AB) -> rule 1b (AB = BA)
= A(AB(1+1)) -> rule 4a (A+A = A) -> in this case AB+AB = AB
= A(AB)
= AAB -> rule 3a ( A(B+C) = AB+AC )
= AB -> rule 4b (AA = A)

For the second question you basically split the equation into smaller parts
D = (AB + AC)BC
I made a column for A•B, A•C, A•B+A•C, and B•C. Then the final column was (A•B+A•C)•BC which is D
Surely you know how to create a truth table this far into the year. (2 days out from the HSC)