Software Design & Development Marathon [2012] (4 Viewers)

Cyberbully

Where do you live?
Joined
Oct 29, 2011
Messages
122
Gender
Undisclosed
HSC
2012
Too vague I reckon. What sort of game is it? Who's gonna play it?
It's a first person FPS, where you are a nyan cat, where you eat COD by pouncing on them. Aim is to get 1337 points.

The whole forum will play it
 
Last edited:

Cyberbully

Where do you live?
Joined
Oct 29, 2011
Messages
122
Gender
Undisclosed
HSC
2012
LOLOLOLOLOLOL wow i'm dying...

Edit: How about Cyber and Goldy make a new text for SDD? (Since you guys are quite critical of Mr Sam Davis. :p)
i was considering that.

but my sdd notes use too much colour and have little grammatical construct
 

GoldyOrNugget

Señor Member
Joined
Jul 14, 2012
Messages
583
Gender
Male
HSC
2012
I LaTeXed an english short story once and the teacher complimented me on how beautiful it looked :)
 

GoldyOrNugget

Señor Member
Joined
Jul 14, 2012
Messages
583
Gender
Male
HSC
2012
If the course was reformed, I'd consider tutoring/teaching it. In the course specs, under 'Advanced Data Structures', their first subheading is 'Single dimensional arrays'. lolwut?

In my imaginary course, 'Single dimensional arrays' are taught in years 8-9, then we move on to linked lists, heaps, trees, recursion etc. in years 10-11, and year 12 'Advanced Data Structures' covers bloom filters, fibonacci heaps, randomised skip-lists, self-balancing binary trees, etc. It would be an awesome course, aimed at 4u-maths-level students. And no social/ethical issues!
 

SpiralFlex

Well-Known Member
Joined
Dec 18, 2010
Messages
6,960
Gender
Female
HSC
N/A
If the course was reformed, I'd consider tutoring/teaching it. In the course specs, under 'Advanced Data Structures', their first subheading is 'Single dimensional arrays'. lolwut?

In my imaginary course, 'Single dimensional arrays' are taught in years 8-9, then we move on to linked lists, heaps, trees, recursion etc. in years 10-11, and year 12 'Advanced Data Structures' covers bloom filters, fibonacci heaps, randomised skip-lists, self-balancing binary trees, etc. It would be an awesome course, aimed at 4u-maths-level students. And no social/ethical issues!
What about the option topics? They are pretty nice. But you gotta be inclusive man - not all ppl do 4U.
 

GoldyOrNugget

Señor Member
Joined
Jul 14, 2012
Messages
583
Gender
Male
HSC
2012
But if you do software dev at university, you will be dealing with difficult problems that require mathematical insight. Why does the HSC need to dumb it down to make it inclusive? Right now, 4u maths is the only really difficult HSC course. All the other courses dumb down their content. I think we need more courses like 4u maths.

The option topics are ok... they're at least less content-heavy then the core. Still, I don't think I've ever seen a question that required substantial logic or insight in an SDD paper.
 

SpiralFlex

Well-Known Member
Joined
Dec 18, 2010
Messages
6,960
Gender
Female
HSC
N/A
The major thing is people might complain. I can see your solution working IFF we split SDD into 2U/3U/4U. I don't think there are enough teachers to teach it.
 

Cyberbully

Where do you live?
Joined
Oct 29, 2011
Messages
122
Gender
Undisclosed
HSC
2012
The major thing is people might complain. I can see your solution working IFF we split SDD into 2U/3U/4U. I don't think there are enough teachers to teach it.
Open High School!

Edit: What happened to the old days of 4U Phys/Chem, 3U Eco....
 
Last edited:

GoldyOrNugget

Señor Member
Joined
Jul 14, 2012
Messages
583
Gender
Male
HSC
2012
Q.

The following algorithm (this is one of the std. algorithms) prints n unique random numbers in the range 0..1000 inclusive

Code:
BEGIN GenerateRandoms(n)
    used = boolean array of size 1001
    FOR i=0 TO 1000
        used(i) = FALSE
    NEXT i
    FOR i=1 TO n
        nextNum = random integer in range 0..1000
        WHILE used(nextNum) DO
            nextNum = random integer in range 0..1000
        ENDWHILE
        PRINT nextNum
        used(nextNum) = TRUE
    NEXT i
END GenerateRandoms
1. Dave calls the routine GenerateRandoms(1337). Identify the error that subsequently occurs, and describe why it occurs. (2 marks)

2. Dave now requires the generation of n unique random numbers in the range 0..1012. Outline potential issues that would occur if the existing algorithm was modified to accommodate this new range. (2 marks)

3. Dave additionally guarantees that n will always be less than 1000. Propose and give pseudocode for a new algorithm that resolves the issues raised in part (2). (4 marks)

4. You are given access to a library routine that randomly shuffles a list of k items very quickly. Outline how this subroutine could be utilised in an efficient algorithm to solve part (3). (3 marks)

5. Explain how the shuffling subroutine in the library could be implemented. (2 marks)
 
Last edited:

GoldyOrNugget

Señor Member
Joined
Jul 14, 2012
Messages
583
Gender
Male
HSC
2012
Q. You have a file 'dictionary.txt' that can be opened for relative access, and contains a sorted list of words from the English language. Describe how the binary search algorithm could be used to efficiently determine how many words start with each of the letters A, B, C, ..., Z. (3 marks)
 

jackss

New Member
Joined
Oct 4, 2012
Messages
10
Gender
Undisclosed
HSC
2012
Hey, can anyone tell me if the 'developing a solution package' topic is examinable. Also, do we need to know how to use Prolog or any other language for option 1?

cheers, any help appreciated!
 
Last edited:

sddmoustache

New Member
Joined
Oct 24, 2012
Messages
26
Gender
Female
HSC
2012
1. The FOR loop from i = 0 to i = n loops n + 1 times, so instead of creating 1337 random numbers, you get 1338 random numbers

2. The memory requirement would be really huge, so you'll need to upgrade the RAM.

3.
Code:
BEGIN GenerateRandoms(n)
    nums = array of size 1000
    FOR i = 1 TO n STEP 1
        done = False
        WHILE not done
           nextNum = random integer in range 0..10^12
           valid = True
           FOR j = 1 TO i - 1 STEP 1
              IF nums(j) = nextNum THEN
                 valid = False
              ENDIF
           NEXT i

           IF valid = True THEN
              done = True
              nums(i) = nextNum
           ENDIF
        ENDWHILE
    NEXT i
END GenerateRandoms
4. Loses 3 marks D:

5. You go through each element of the array and randomly swap it with another. Idk...
 

GoldyOrNugget

Señor Member
Joined
Jul 14, 2012
Messages
583
Gender
Male
HSC
2012
1. The FOR loop from i = 0 to i = n loops n + 1 times, so instead of creating 1337 random numbers, you get 1338 random numbers
Whoops, my fault. It should only loop n times. Code's been edited now. Try again :)

EDIT: You realise that 1012 is a trillion right? "Buy eight terabytes of RAM" is not really an answer. You need to come up with a new algorithm that does not have this limitation.
 
Last edited:

Cyberbully

Where do you live?
Joined
Oct 29, 2011
Messages
122
Gender
Undisclosed
HSC
2012
Whoops, my fault. It should only loop n times. Code's been edited now. Try again :)

EDIT: You realise that 1012 is a trillion right? "Buy eight terabytes of RAM" is not really an answer. You need to come up with a new algorithm that does not have this limitation.
buy into it why don't you :p
 

Users Who Are Viewing This Thread (Users: 0, Guests: 4)

Top