Week 12B
Goal: for you to become competent C programmers
Requires an understanding of:
- data: types, memory, state, assignment
- control: sequence, selection, iteration
- functions: parameters, scope, return values
- structured data: arrays (1-d/n-d), structs
- dynamic data: pointers, linked structs, malloc
- data types: lists, stacks, queues, binary trees
- input/output: stdio.h, text files, binary files
- software development: design, implementation, testing
From Course Outline:
labs = mark for labs (out of 10)
quiz1 = mark for quiz 1 (out of 5)
quiz2 = mark for quiz 2 (out of 15)
ass = mark for assignment (out of 15)
exam_w = mark for written part of final exam (out of 20)
exam_c = mark for coding part of final exam (out of 35)
mark = labs + quiz1 + quiz2 + ass + exam_w + exam_c
To pass the course, you must achieve:
- at least 27/55 for
[exam_c + quiz1 + quiz2]
- at least 50/100 overall
... Assessment Summary | 3/18 |
Check your results
prompt$ 1921 classrun -sturec
Goal: to check whether you are competent C programmers
Requires you to demonstrate:
- understanding of concepts
- ability to read programs and explain how they work
- ability to develop programs from specifications
- which requires ability to design, implement, test, debug
Labs, tutes and assignment have built you up to this point.
3-hour exam on Tuesday 08th November
9am-12noon, be there at 8:45
Held in CSE labs (allocations posted on web site)
20 (out of 55) based on Written Part (written on exam paper)
35 (out of 55) based on Practical Part (done online)
Maximum time for Written Part: 1 hour (may return written exam early)
Minimum time for Practical Part: 2 hours
Theory Part (aka "Written Exam")
- aim: check how much you know about course material
- 8 multiple choice questions (each worth 1 mark, no penalty for wrong answers)
- tick the box for your answer directly
- to correct, tick all boxes then circle the box for your answer
- 2 open questions (each worth 6 marks)
- cover a wide range of topics from the course
- e.g. what is the output of the above program?
- e.g. find a (simple) bug in the above program
- Tutorial Week 13, Fun Quiz is practice
Practical Part (aka "Prac Exam")
- four small programming tasks (each worth 7-11 marks)
- aim: check whether you are a competent C programmer
- supplied with test cases and
dryrun
script
- once it passes all
dryrun
tests, submit
(but we will run additional tests on submitted programs)
- must be able to write your own functions as well as use provided modules
- partial marks available for non-working programs
The exam is carried out in the CSE exam environment (like the quizzes)
- provides xterms, common editors,
make
, gcc
, gdb
Resources not available during exam:
- no access to your own files
- no access to COMP1921 web site
Resources available during exam:
- Unix Programmers Manual (
man
)
- C quick-reference sheet
Sample Prac Exam Question | 9/18 |
Write a program sublist.c
that
- accepts two numbers, say m and n, on the command line
- creates two linked lists of size m, n of
int
s from stdin
- outputs whether the first list contains the second list as sublist
Examples:
prompt$ ./sublist 4 2
Enter a number: 5
Enter a number: 6
Enter a number: 7
Enter a number: 8
Enter a number: 6
Enter a number: 7
5->6->7->8 contains 6->7
prompt$ ./sublist 3 2
Enter a number: 70
Enter a number: 80
Enter a number: 90
Enter a number: 80
Enter a number: 70
70->80->90 does not contain 80->70
Sample Multiple Choice Questions | 10/18 |
- re-read lecture slides and example programs (see web)
- review tute and lab exercises and assignment
- read exam instructions and solve two further prac exam questions (see web)
- write more programs
(programming is a skill that improves with practice)
You can apply formally for special consideration
- a supplementary examination may or may not be granted
- a supplementary examination will not be granted if you cannot pass having passed the exam
- a supplementary examination is typically more difficult than the original examination
If you attend an exam
- you are making a statement that you are "fit and healthy enough"
- it is your only chance to pass (i.e. no second chances)
Assessment is about determining how well you understand the syllabus
of this course.
If you can't demonstrate your understanding, you don't pass.
In particular, we don't pass people just because ...
- please, please, ... my parents will be ashamed of me
- please, please, ... I tried really hard in this course
- please, please, ... I'll be excluded if I fail COMP1921
- please, please, ... this is my final course to graduate
- etc. etc. etc.
Of course, assessment isn't a "one-way street" ...
- I get to assess you in the final exam
- you get to assess me in the CATEI Evaluation
Please fill it out ...
- telling me things that I or the course did well is fine
- telling me things that I or the course did wrong is better
The aim of CATEI is to improve courses
So what was the Real Point? | 16/18 |
The aim was for you to become a better programmer
- more confident in your own ability
- with an expanded set of tools to draw on
- able to analyse/justify your choices
- producing a better end-product
- ultimately, enjoying the programming process
If you're interested in doing more COMP study ...
COMP1927 introduces a wider range of data structures
(and techniques to analyse their asymptotic performance)
COMP2911 introduces OO design and Java
(core in modern IT)
Other possibilities: COMP3311 Database Systems, COMP3331 Computer Networks, COMP3411 Artificial Intelligence, ...
T
h
a
t
'
s
A
l
l
F
o
l
k
s
Good Luck with the Exams
and with your future computing studies
Produced: 19 Oct 2016