This is a week-by-week check-list for students following the module 2NP or 2NP3. It lists all the activities that you will have been expected to do during the week, and links to a number of web pages on this site that you will be expected to have read by the end of the week, with a few comments on why these will be important.
All students are different and it is your task to find a way of working that suits you. However, the following points will help the vast majority of students whether or not they have done any programming work before.
Background. Everyone (except possibly direct-entry Chinese students) will have worked on the university computers using MS-Windows before. You are therefore expected to have basic skills and understanding of the computer system, in particular the file and directory system in MS-Windows. ("Files" are often called "documents". These words are interchangeable. Similarly "directories" and "folders" are the same thing.) You may need to refresh your knowledge and skills in this area. You can do one or more of:
Programming skills. Everyone who did year 1 mathematics will have seen some basic programming. This will probably have been done in Lua (possibly Maple) and will include the basics of loops ("while" and "for" loops) and variables. So no-one comes to this subject completely new to it. You may like to review what you did last year. However, note that this module will be taught from scratch using C++. At this stage it might be better not to muddle up two different languages and stick to C++.
Work for week 1. There is no assessment for week 1, but this is only to give you an extra week to settle into the module. It is not to give you a week off!
There are two assessments (SA1, SA2) in weeks 1,2,3. SA1 should be straightforward but you will may find that SA2 is quite challenging. Therefore the sooner you can finish SA1 and get on to SA2 the better. Many students will do SA1 in one week and then will have two weeks for SA2.
I am starting programming using Register Machines. These still use C++, but I have presented them in a much simplified syntax that should make learning the basics much easier. Register Machines also have a much-limited instruction set, which means that they are not much use for professional programming but will be easier to understand for beginners. (They are also interesting:) As well as the background (indicated earlier) you are expected to have read and know the material in the following web pages. These will be the content of lectures and labs this week.
Assessments and assignments are all issued via Canvas. There are no assessments in week 1, but you are strongly advised to finish SA1 as soon as possible so that you can get on to SA2 in week 2.