Warning: this course does not exist anymore!!! The website is ONLY for the exam.

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.

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

programs written in class and homeworks’ solutions

VBA extra exercises

1. exercises and solutions
2. exercises and solutions
3. exercises and solutions
4. exercises and solutions
5. exercises and solutions
6. exercises and solutions
7. exercises and solutions
8. exercises and solutions
9. exercises and solutions
10. exercises and solutions
11. exercises and solutions

List of VBA commands and functions

 

One of these:
– Excel VBA Macro Programming (Chapters 1, 2, 3, 4, 5, 6)
– Excel 2007 VBA Programming for Dummies (Chapters 3, 5, 7, 8, 9, 10, 20)
– Excel VBA Programming for Dummies (Chapters 3, 5, 7, 8, 9, 10, 21)
– Writing Excel Macros with VBA (Chapters 3.1-4, 4.3-5, 5.1, 5.4-5, 6.1-3, 7.1-3, 8.1-5, 16.2.3, 19.1-2)

 

 

Files used in class for SPSS Last updated
Excelfixeddelimited data 22 October 2006
Class questionnaire 20 October 2007

Class answers

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

Video
Link
Description
SPSS 1
YouTube
Statistical tests. Questionnaire structure overview: open, closed, multiple closed answers, nominal, ordinal, scale variable, missing values.
SPSS 2
YouTube SPSS program overview: data view and variable view, output window. SPSS variables: types (text, numerical, date), missing data, measures (scale, ordinal, nominal), variable labels, value labels, missing value label, missing values. Exercise: build variables for the whole example’s questionnaire. Missing data: subject’s missing data, system missing data. SPSS cases and variables, output window. Menus overview. Buttons overview. View labels. Importing data from Excel files, delimited text files, fixed text files.
SPSS 3
YouTube Univariate analysis: frequencies, descriptive statistics, contingency tables and one-dimensional chi-square test, Student’s t test for one population, sign (binomial) test. Bivariate analysis techniques: comparing means, Student’s t test for two unpaired populations, analysis of variance, tests’ significance.
SPSS 4
YouTube Difference between paired and not paired data. Pearson and Spearman’s bivariate correlation. Partial and spurious correlations. Student’s t test for paired data.
Graphs: bar charts, pie charts, chart editor, element properties, histograms, changing the binning, boxplots, excluding categories, scatterplots, three dimensional bar plots. Exercises with graphs: relation analysis through contingency tables and chi-square (nominal-nominal), through boxplots (nominal-scale), through scatterplots (scale-scale).
SPSS 5
YouTube Normality assumption and tests: histogram, skewness, kurtosis, Q-Q plot, Kolmogorov-Smirnov test.
Sorting files. Cases splitting, weighting and filtering.
Recode into different variables. Recode into same variable. Converting a scale variable into an ordinal variable through grouping. Compute new variables: functions, usage of MEAN function, boolean expressions.
SPSS 6
YouTube Usage of MISSING function. Count values. Exercises on variable calculation. Date and time operations. Missing values replacement. Weighted indexes, indexes for binary variables. Examples on index building with SPSS.
SPSS 7
YouTube Regression, linear regression, coefficients, R-square, residuals, residual histogram, graph in scatterplot. Non-linear regressions. Logistic regression.
Non parametric tests. Mann-Whitney U, Kruskal-Wallis.
VBA 1
YouTube VBA videos from another course. They correspond to the BEGINNING of VBA in this course.
VBA 2
YouTube VBA videos from another course. They correspond to the BEGINNING of VBA in this course.
VBA exercises
YouTube VBA exercises for another course. Easier than the exercises in this course, but they are definitely a good starting point.

 

Powered by Paolo Coletti

2022 All right reserved