Warning: this course does not exist anymore!!! The website is ONLY for the exam.
Exam code 25253
Advanced Computer Skills
In charge of the exam: Dr. Paolo Coletti Paolo.Coletti@unibz.it .
Office I303 - Office hours: www.paolocoletti.com/timetable
Attention: special offer!
If you fail the exam, you MAY keep any part on which you got at least 70% for the next sessions for maximum 11 months (if I am still in charge of this exam).
Course
ACS course presentation A.Y. 2011/12.
ACS course content A.Y. 2011/12.
Prerequisites
In order to correctly follow this course each student is required previous knowledge on these topics:
- Computer science course. The whole content of this course is taken for granted in ACS course and no questions will be answered. Moreover you will not be helped with file handling during the course or exercises and especially you will not be helped during the exam.
- Statistics course. From this course it is important to have a clear idea of what these statistical instruments mean and how they are used: mean, median, standard deviation, correlation, histogram, boxplot, contingency table, distribution, regression model. Their theory will not be explicitely asked at the exam, however they will be asked and used during ACS course.
Course content
- Visual Basic for Applications. In this part we will see how to build functions and programs.
- SPSS - Statistical Package for Social Science. In this part we will see some aspects of SPSS, namely data entry, data handling, and data checking, basic data analysis, regression models and statistical tests.
Exam
Exam is divided into two parts.
The first part consists in VBA exercises on computer. This part's time is 60 minutes, but may vary according to the complexity of exercises. The second part consists in SPSS exercises on computer. This part's time is 25 minutes, but may vary according to the complexity of exercises. Both parts are totally open books (VBA was originally closed books but now it has changed): you may use any written or electronic document, including books, previous exams with solutions, your personal handwritten or electronic notes and my slides. You may not, however, use any communication program or device.
The exam's grade consists in a weighted-average of these parts:
- written test on flowchart and Visual Basic for Applications (60% of the final grade);
- practical test on SPSS (40% of the final grade);
- file handling errors (such as using wrong file names, producing not required files or directory, submitting several copies of the same file) count negatively towards the final grade.
Before the exam:
- if you do not use your own notebook, borrow a computer from the library well before the exam and configure it before the exam
- make sure that Office and SPSS are installed and working;
- if you are paranoid and are afraid that your notebook crashes the night before, some days before the exam borrow a computer from the library and check that you are able to log in on your unibz account and that you have, or are able to install, everything you need
Suggestions on how to prepare for this exam
Small guide written by one of your colleagues who prepared for this exam alone and got a very good grade:
Advanced Computer Skills, an attempted guide.
First of all: Try and forget everything you knew before. It is easier to start from scratch.
Second: Get one book per part (so spss and vba)
Decide with which part you want to begin. Then take the book and begin. Do a little bit every day. One chapter and then stop. Next day, next chapter until you’re through (and you understood why you press the buttons you’re pressing or write the line you’re writing). If you began with spss, now look at the videos. If you began with vba, now have a look at the slides and the exercises. Do all the exercises on the slides yourself. And redo them, there will be a lot of mistakes at the beginning and they will remain for a long time, but do it over and over again. If you do not understand the slides, do not worry! In the exam you will have to do everything step by step (do this function, then that one, then the main procedure). The slides are a bit confusing, because you always think: How on earth am I supposed to know that? You cannot at this stage and in the exam you will be guided, if needed.
So, through will all the stuff?
Start with the exams. Do not get discouraged with all the errors you will make.
And the most important thing: If you did not understand something, ask professor Coletti for help. And do not hesitate to do so. I bet I was so unnerving with all my emails, but in the end they helped me understand.
One thing I will stress again: Start early and do a little bit every day, half an hour or sometimes 20 minutes will be enough. Also, if you do not feel like doing anything on one day, then do nothing and do not feel bad about it.
I never had anything to do with programming and through my work which is completely different from my studies I am not fluent in Excel or anything, but I passed the exam on the first go just doing the steps above. However, what was good for me, might not be good for you. Just think: How did you pass the other exams for which you had to study a lot and keep it in your brain? Follow your own recipe.
Another thing not to forget: Everybody who got this bachelor passed this exam, so you will, too! Stay positive!
So, have fun studying. There is no better feeling than realising that you got something. Indulge!
And here my suggestions:
SPSS: many of you are convinced that VBA is the hard part and SPSS is the “bonus exercise”. It is not like this, there have been sessions where the majority of the failed exams were due to SPSS! Do not underestimate this part, you must come to the exam having clearly in mind the difference between the three types of measures and knowing exactly what can you do with each type of variable. Moreover, as it is usual for my practical exercises, you should train and train and train and train, once you decide which teast/graph/technique to use you must be familiar with where to click and what the interfaces will ask you. While correcting I see that still many students choose the wrong test or graph: check carefully my videosolutions and stop thinking at why have I chosen something and not something else.
File handling: yes, also this part exists. There is clearly no explicit exercise, but it does not cost you so much dedicating the final five minutes to carefully check everything, in particular files’ names. There are still students who insist in working without extensions activated and provide me files with double extensions or students who panick when Windows asks you whether to overwrite or not: yes, you must always overwrite the files that are on the network directory with the new files that you give me, do not creat duplicates marked with (2) unless I explicitely ask you to do it.
At third year, or even after, you must absolutely be able to solve this kind of problems alone, as there were well explained in the previous course. In particular learn to check whether your copy operation is successful looking at the file’s saving time and not reopening SPSS files, as reopening an SPSS output is the best way to re-overwrite it with an empty file.
VBA: the most common mistake for this part is instead trying to do as many exercises as possible, relying on a “trial and error until I know all the possible exercises” strategy. It was the strategy I used myself for some exams while I was a student, but unfortunately it turned out to be unsuccessful for some exams. And I think this is one of those. According to my opinion for this part you should instead study more and do exercises only later:
0) Do not start two or, even worse, one week before the exam. Maybe the intensive study works for other subjects, but programming requires an extensive study. You must start some months before, obviously not intensively, studying something every week.
1) Start from exercises’ slides of dott. Somenzi, going very slowly through each one, trying to grasp every concept explained there. If something is not clear, read it again, in case consult one of the suggested books or try to find information on the web or write an email to me. Skipping an important concept, or going ahead without having fully understood it, will decrease your understanding of the next concept.
2) Stop on every suggested exercises and try to do it yourself without looking at the solution. Jumping to the solution is the best way to lose the possibility to train yourself. I know that it is boring to stop every time and more boring to try to do exercises for which you can instead memorize a solution, but memorizing the solution will not help you so much in learning the subject (and in passing the exam).
3) Then read the exercise’s solution and compare it with yours. Check whether the differences are simply stylistic differences or whether they change the program’s behavior and whether your program is correct anyway or not.
4) Try to modify the suggested solution improving it or making it work anyway changing the code.
5) Every exercise must be completely clear before going on with the next one, otherwise you are complicating your future understanding. I know you are tempted to skip things you do not fully understand hoping they are not important, but in case they your comprehension of the next exercises will quickly drop to zero.
6) Once all the exercises’ slides of dott. Somenzi are done, go through my theory slides (of Dr. Coletti) just to have an overview of the subject’s theory and check whether everything is really well understood. You should at this point be able to do all my example’s exercises alone without reading my solution.
7) Only know start looking at exams. Looking at exams before this point is only a loss of training possibilities. Very often I see you asking me advanced questions on details of exams’ solutions and, as I start explaining asking you for clarifications, I realize that you have not clear much more basic parts. This is not the way to study how to write programs, you will in this way produce at the exam an illogical sequence of instructions.
– First you must absolutely invest some time to clearly understand what you should do. Do not start write immediately. Try to do some numerical examples with pencil and paper, as if you were the computer doing them. I am not joking, this is the way every programmer starts its job, understanding the problem through examples. It is worthless to start writing code without having in mind the algorithm, you will only write random operations which usually lead nowhere.
– Then figure out how could you solve the problem, which variables would you need and a general overview of the program’s activities. If this part is not clear, it is entirely worthless starting to write the programs, an illogical sequence of instructions will be produced.
– Only now do the same that you were doing with exercises: first do it yourself, then check whether it works going through it step by step, read the suggested solution paying special attention to my comments, check and compare with yours and with alternatives, propose other alternatives.
8) At the exam you must follow the steps you were doing when solving the exercises, with some extras:
– Pay attention to variables names. If you, by distraction, start using “temperature” and then go on using “temp” I do not consider this as a mistake. But changing constantly variables’ names during the program (start using temp, then for the same concept using x, then a) with variables which suddenly appear, without any value, and are used as right side of an equality or an an array in one line and a variable in the next one, is a clear indication that you are not understanding what is going on.
– You may not invent functions which do not exist (unless you explicitly write also their code on the paper, or at least you write a comment to me admitting that you do not know how to do it and suppose that it exists to go on with the exercise) and you may not use existing functions in a different way that the one specified in the paper you receive. Function “max” does not exist, function “sort” does not exist, functions “LBound” and “UBound” return the first and last index of an array (so they must have an array as argument and return the index, not what else you prefer such as the value in that position).
– You should have clear in mind the difference between Range and array.
– When you have written a version which you believe is doing everything that is required, go through it step by step doing the instructions as if you were the computer. In this way you will discover all the inconsistencies and logical errors.
Using your failed exam constructively
This time instead of asking me to send you the list of errors where you are simply a passive listener, which I think is totally useless without a proper knowledge as you will read an abstract list of meaningless observations, I propose the following task which may be much more profitable for you. First you study VBA at a reasonable level and then you go through your exams’ papers (I may send the PDF to you) marking yourself all the errors and explaining why they are wrong. I will then correct your correction. This obviously makes sense only if you have in the meantime improved a lot your preparation and are now able to understand your errors.
If you instead are not interested in this task and want to receive the list of errors anyway, just re-ask the list to me specifying that you are not interested in the extra task.
I list here the most frequent severe problems of the exams, which can give you a hint on what to fix in your preparation. If you find one of these errors in your exam, it is a clear indication that you need much more study.
- Some exams give me the impression that the student has not gone through, even superficially, the entire course. Some examples are: not knowing that an average of a series is a sum divided by a count, committing a lot of syntax’s errors (I do not care so much on syntax, but seeing “IF R()>10 TO 100 THEN” makes me wonder whether the student has ever seen IF, FOR and arrays, the most frequent elements in this course), not understanding the difference between variables in the input list of a function and variables declared inside the function.
- Some exams contain a list of syntactically correct instructions, but which do not follow any logical sequence, they seems to be scattered around like a shopping list. VBA is a structured language, meaning that the structure is important. In these cases I have the impression that the student is not following my advice to dedicate time before starting writing to have clear in mind the solution procedure, but is writing it “on the fly”, something which even experienced programmers rarely do.
- You must pay attention to variables names. If you, by distraction, start using “temperature” and then go on using “temp” I do not consider this as a mistake. But changing constantly variables’ names during the program (start using temp, then for the same concept using x, then a) with some variables which suddenly appear, without any value, and used as right side of an equality, is a clear indication that you are not understanding what is going on in your program and have not re-checked it step by step. Also if a variable is an array, must remain an array for the entire program and not change to a standard variable.
- You may not invent functions which do not exist (unless you explicitly write also their code on the paper, or at least you write a comment to me admitting that you do not know how to do it and suppose that it exists to be able to go on with the exercise) and you may not use existing functions in a different way that the one specified in the paper you receive (this is one of the reasons why you receive that paper). Function “max” does not exist, function “sort” does not exist, functions “LBound” and “UBound” return the first and last index of an array (so they must have an array as argument and they return the index, not what else you prefer such as the value in that position).
- You should have clear in mind the difference between Range and array. They look similar as both contain a lot of values, but Range is an object of Excel sheet and array is inside the memory of the computer. They use different ways to access data, you may not use LBound() or direct access, such as R(7), with ranges. Same thing for the difference between String s=”A1:B9″ and Range r=Range(“A1:B9”): the first one is just text, the second one is an object. You may use the first one to build the Range object writing “set r=Range(s)”, but things like s.cells(i,j) or Range(r) or, even worse, Range(“r”) clearly do not work.
- According to my opinion, there is no need to write two versions of the exam, a draft and a good one. It’s only a waste of time that you could dedicate to re-reading the exam text or checking whether your program really works going through the instructions step by step, two activities which some students really need to do. Looking at your draft versions, the quality of handwriting and comprehensibility is the same as in the good versions, so for me it does not matter. Considering that you may use the pencil, I do not see any reason to write twice the same thing. Moreover, I have the impression that copying the instructions introduces other errors in the good version: I do not consider distraction’s mistakes as errors when distraction is evident, but is some cases I was unsure whether it was a copy mistake or a deliberate change in the code. Finally, there are cases where the copy operation was not even finished, leaving the good version without the final part.
Modifications due to Covid
I will send you the file via email and receive the file back via email. During the exam I will call you and ask you to show me your screen. In case during the exam you need my assistance and call me on Teams.
Cheating
If I suspect you are cheating or have cheated, I will interrupt the exam and report to the Dean. I remind you that the regulations of the Faculty of Economics prescribe for cheating a suspension of one entire session for all exams and one entire year for this exam. It has already happened to some of your colleagues in the past, so please do not even try to cheat.
Study resources
Topic
|
Lessons’ slides
|
Exercises’ slides
|
Support material (available during exam)
|
Videos as alternative to attendance
|
Books as further readings
|
---|---|---|---|---|---|
SPSS
|
SPSS | included in SPSS’ lessons | Statistical tests for SPSS | see below | One of these: – Discovering Statistics Using SPSS (Chapters 2, 3, 4, 5, 6, 7, 8, 13.1-4, 16.1-4) – SPSS Survival Manual (Chapters 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 22). |
Visual Basic for Applications
|
VBA slides |
1. exercises and solutions |
One of these: |
Files used in class for SPSS | Last updated |
---|---|
Excel, fixed, delimited data | 22 October 2006 |
Class questionnaire | 20 October 2007 |
2 February 2012 | |
Customers satisfaction questionnaire | 22 October 2006 |
Internet behaviour questionnaire | 22 October 2006 |
Internet behaviour answers |
22 October 2006 |
Sleep questionnaire | 22 November 2006 |
Sleep data file | 2 February 2012 |
Wellbeing questionnaire | 22 November 2006 |
Wellbeing data file | 2 February 2012 |
Staff questionnaire | 22 November 2006 |
Staff data file |
2 February 2012 |
Videos of lessons
FAQs
Q: What do I need on my computer to attend this course and take the exam?
A:
1) If you do not have Office or SPSS, follow the installation instructions on http://knowledge.scientificnet.org/software . For SPSS you will have to open a ticket to ICT for a license code.
2) Use VMware via web. Go here https://desktop.scientificnet.org , choose the HTML access and enter with your unibz login (use loginname@unibz.it as login name). You will have Windows Labs, which is a virtualized Windows computer, with all the course's programs installed. Alternatively you can use each specific program alone, without the burden of Windows. Pay attention that in this way you will have access only to the \\ubz01fst network disk (My PC or Local Disks are the unibz ones, not yours), not to your own computer's disks. There won't be any problems for the exam nor for attending the course, but it can be annoying.
3) Use VMware via client. Go here https://desktop.scientificnet.org and choose to install the VMware client and choose desktop.scientificnet.org when it asks you the server address. Use loginname@unibz.it when it asks for your login name. You should be able to access your local disk automatically if you say Yes to the many permissions' requests (otherwise, for old versions: from Settings -> Options Tab -> Shared Folders and then from Preferences -> Sharing you can enable access to local disks).
Q: How can I type backslash, square bracket, straight vertical, curly braces on the German keyboard of a Mac?
A: Did you buy a Mac with a German keyboard? For programming it is lacking some fundamental keys. Here the shortcuts:
- backslash \ is obtained with ALT+SHIFT+7
- square brackets [ and ] are obtained with ALT+5 and ALT+6
- straight vertical | is obtained with ALT+7
- curly braces { and } are obtained with ALT+8 and ALT+9
Q: How can I type square bracket, at symbol, curly braces on the Italian keyboard of a Mac using VMware?
A: Did you buy a Mac with an Italian keyboard? I do not understand why the left Option-Alt key is working only for the euro symbol. Here the shortcuts:
- square brackets [ and ] are obtained with RIGHT ALT+8 and RIGHT ALT+9
- at symbol @ is obtained with RIGHT ALT+Q
- curly braces { and } are obtained with RIGHT ALT+7 and RIGHT ALT+0
Q: May I fix an appointment to talk with you?
A: Sure, write me an email and we can fix it online or live. Alternatively, you can write me your questions via email or Teams message and I shall answer very soon.
Q: I may not enrol online for technical or administrative reasons or I forgot to enrol or it is my third attempt and I cannot enrol. Can I do the exam anyway?
A: No, I may not let non-enrolled students take part of the exam. Do not ask me to do illegal things! Ask the secretary whether there is something they can do.
Q: May I use the operating system in a different language?
A: Yes, sure. Your business.
Q: Will the exam be similar to the other exams on this website?
A: Sure.
Q: I lost a file during the practical exam because I did not save it correctly. What may you do?
A: Absolutely nothing. With time spent on exercises you should know the unreliability level of your programs, and how often you have to save.
Q: My files were not copied correctly at the end of the practical exam. What may I do?
A: Checking that the copy is correct, and practicing file copy even during the exam, is your task and is official prerequisite for this course.
Q: Hey, exam's time is not enough! I could not even finish it. If I only had other 5 minutes I would have done it much better!
A: Sorry but you are wrong, as I calculate more than twice the needed time. Look at the important warning after exam's explanation: the fact that for you exam's time was not enough is instead an indication that you must do many more exercises to be efficient and fast enough. On the other hand, if you have documented medical problems that slow your operations, write an email to me to have more time.
Previous exams
(updated for A.Y. 2011/12)
(updated for A.Y. 2011/12)
(updated for A.Y. 2011/12)
(updated for A.Y. 2011/12)
(updated for A.Y. 2011/12)
(updated for A.Y. 2011/12)
(updated for A.Y. 2011/12)
(updated for A.Y. 2011/12)
(updated for A.Y. 2011/12)
winter 2009 - 11
(updated for A.Y. 2011/12)
SPSS 13
SPSS 13