UTS:
ENGINEERING AND
INFORMATION
TECHNOLOGY
UTS CRICOS PROVIDER CODE: 00099F
48430 REVISION
BEESHANGA ABEWARDANA JAYAWICKRAMA
feit.uts.edu.au
SUBJECT MINIMUM REQUIREMENTS
In order to pass the subject, a student must:
• Achieve a minimum of 50% in the overall mark
feit.uts.edu.au
FINAL ASSESSMENT OVERVIEW
FINAL ASSESSMENT is:
FULLY OPEN BOOK
feit.uts.edu.au
FINAL ASSESSMENT OVERVIEW
Follow ANSI C standard.
Don’t include any non standard header files i.e. use stdio.h, stdlib.h, string.h,
math.h and time.h only.
Follow good programming habits (including comments).
IF there is any ambiguity in any question, state your assumptions clearly.
Marker will evaluate the validity of assumptions.
feit.uts.edu.au
IN THE FINAL ASSESSMENT
You must be able to write programs according to a given specification
You must be able to write functions according to a given specification
You must be able to explain C programming concepts and provide examples
feit.uts.edu.au
BATTLES AT THE FINAL ASSESSMENT
Applying the C programming skills and recalling the knowledge gathered
Writing code on a computer – all good programming habits will be assessed
Open book vs closed book – you will need to T-H-I-N-K in open book exams
NO one else can help during the exam
feit.uts.edu.au
WHAT TO STUDY
• Lab tasks
• Lab preparation tasks/questions
• Code developed in forums and the concepts covered in them
• Forum notes
• Textbook
Programming is like driving. The more you practice the better you get at it.
Only way to pass the exam is to practice writing code (reading code is NOT
equal to writing code).
feit.uts.edu.au
These revision slides only summarise the important topics in the
subject. They do not directly indicate the complete list of questions that
will appear in the final exam and/or the weightage.
Follow the colour scheme:
• Very important
• Neutral / Neutral
• Less important
feit.uts.edu.au
01 PROGRAMMING FUNDAMENTALS
Steps to follow when running a high level language program.
Software development stages – requirement, analyse, design, implement,
test, maintain.
The general structure of a C program.
Pre-processors.
Variables - name/type, definition/initialisation.
Correct usage of variables when using printf() and scanf().
Types of errors – syntax, runtime and logic.
feit.uts.edu.au
02 DATA TYPES, OPERATORS AND
SIMPLE FUNCTIONS
C primitive data types – char, int, float (approx.), double (approx.).
Order of operations – Top to bottom, left to right. unary (+, -), binary (+, -, *, /,
%, ()), assignment (=).
What is the value of c? int a = 1, b = 2; float c; c = a/b; Is
the expression incorrect? Type casting.
Functions – pre-defined/user-defined, prototype/definition.
Basic structure of a function – return type, function name, input parameters,
definition.
How to call a function.
Scope of variables.
feit.uts.edu.au
03 CONTROL STRUCTURES (IF AND
LOOP)
Conditional and logical operations - <, >, <=, >=, ==, !=, , ||, !
Order of operations – arithmetic operations, unary logical operations, binary
conditional operations, binary logical operations, assignment.
e.g. flag = !y x * -1 + 5 <= 0
“Short-Circuit” evaluation.
Can I write: 1 < x <= 10 ?
General structure of a if-else and switch statements. Break statements.
General structure of for, while and do-while statements. Initialisation, check
condition, variation.
Counter controlled and Sentinel controlled.
feit.uts.edu.au
04 ARRAYS AND STRINGS
How to define an array (size – constant), how to access an element, how to
initialise.
Passing arrays to functions – scope, size, const keyword.
Consider int a[10]; Value/address – a, a[0], a[0]. True/false –
a==a[0] ? Can I write - int* p = a ?
Dynamic sized arrays. How to define and use?
Strings in C are – char stringa [], or char* stringp.
String size is managed by – null termination.
Some functions from string.h – strcpy(), strcmp(), strcat().
feit.uts.edu.au
05 STRUCTURES AND FILE PROCESSING
How to define a structure type, how to access an element, how to initialise.
Passing strctures to functions – scope
Structure pointers. planet_t *p; p = (planet_t*) calloc(1,
sizeof(planet_t)); p->diameter = 12.1;
Can a function return a struct?
Text/binary files – differences, advantages and disadvantages.
Text files – fprintf, fscanf. Binary files – fwrite, fread. How to read till the end
of a file.
feit.uts.edu.au
06 07 POINTERS AND DYNAMIC MEMORY
MANAGEMENT
What is a pointer? An address.
Meaning of the following terms: int x; x; x;
Meaning of the following terms: int* xp; xp; *xp;
Meaning of the following terms: void fun(double* yp); double d; fun(d);
Scope of variables – block scope.
Write functions to output more than one result using pointers.
Pointers and arrays
stdlib.h functions – malloc, free
Common mistakes with pointers – uninitialised pointers, dangling pointers,
double deallocation, memory leaks
Linked lists
feit.uts.edu.au
09 10 11 OTHER TOPICS
Programming in the large – developing custom libraries, compiling multiple c
source codes, makefiles
Cross development for embedded systems
Command line parsing
On to C++ (NOT EXAMINABLE)
feit.uts.edu.au
ONLINE EXAM INSTRUCTIONS
• General online instructions on UTSOnline.
• Access and complete the assessment on Ed.
• You have to manually Click “Mark” once each answer is given. Answer will NOT be
automatically submitted.
• Final assessment includes multiple questions. Each question is individually submitted. You can
move between questions. You can change your answers any time before the due time of the
assessment by submitting a new answer. Multiple attempts of submissions are allowed before
the due time of the assessment. Only the LAST submissions before the due time will be
marked. Late submissions after the due time will not be accepted.
• If close your browser or use the back/backspace button, you will lose the any unsubmitted
answers and if you re-enter to Ed, you will only the see the last previously submitted answer.
• If you wish the reset the question scaffold to default. You can click on the drop down list and
select 'Reset to Scaffold' option. Note that doing so would remove any code you have in the
workspace that has not been submitted and you might want to save a backup before doing so.
feit.uts.edu.au
ONLINE EXAM INSTRUCTIONS
• All submissions will be processed by similarity checks on Ed and
submissions with high similarity score will be submitted as misconduct
cases. All submissions should be originally from yourself.
• Only the .c file specified in the question will be marked, please do not
rename the given files and please remove any other files except the
required files before submitting your answer.
• After the due time, the assessment and answers cannot be accessed
again.
• You have 24 hours window to complete the final assessment.
• Subject coordinator will be contactable by email: in
the first and last hour of the exam window.
• UTSOnline Discussion Board will be unavailable during the exam window.
Please do NOT post any questions in UTSOnline Discussion Board or
Microsoft Team about the final exam.
feit.uts.edu.au
ONLINE EXAM INSTRUCTIONS
• Demo questions for final assessment are available on Ed. The demo
questions are only for final assessment environment practice, the actual
content of the final assessment questions will be different.
• Please test the demo questions for your access to Ed and submissions on
Ed before the final assessment to make sure that you have the correct
setup on your own device and browser.
feit.uts.edu.au
ONLINE EXAM INSTRUCTIONS
• There will be multiple questions in the assessment.
• For the questions need you to explain concepts, please write your answer
in dedicated place (e.g. comment area) in the program.
• For the questions need you to write a function, a part of a program or a
whole program, you need to make sure that :
1. Your submitted answer(program) can be successfully compiled on Ed
without any errors or warnings using gcc –Wall –Werror –ansi ….
Command in the terminal. If your submitted answer (program) cannot
pass the compilation, you will receive 0 mark for the question.
2. Your submitted answer(program) attempts to complete the requirements
in the question description. If your submitted answer(program) can
compile but it does not attempt to complete the requirements, you will
receive 0 mark for the question.
3. Your submitted answer(program) is not hard-coded. Any hard-coded
program will receive 0 mark for the question.
feit.uts.edu.au