There are 3 ways of getting points in this course: Milestones (♦), Mentoring and completing the workbook. The first comprises 90% of the marks, the second 10%, and the third gives you bonus marks.
Milestones
Milestones are marked as Pass/Fail. Each of the 6 milestones is worth 15 points for a total of 90 points. You may only test the next milestone (go up a level) only after you pass previous milestone (level).
Write a simple program in Notepad++. Compile, link, and run the program. This includes downloading and installing the compiler and editor on your own computer (if you do not have a computer, you can request an alternate examination) and demonstrating the use of the debugger program.
Look a problem and write a possible solution to the problem using UML. Knowledge of the start symbol, activity symbol, flow symbol, comments, splitting, and parallel processing symbols is required.
Write programs using arrays or records. This is to prepare you for next C language course: Data Structures and Algorithms
Mentor
Once you pass a Milestone (♦) you can become a mentor to others who have not yet passed a milestone. When they pass, you receive 1 points!
If you have not yet passed a milestone you cannot be a mentor.
Bonus
At the end of the course, your books will be collected and based on the quality of your notes, bonus points will be rewarded.
C Code for Marking
struct DB{
long int id;
char nameZH[16];
char nameEN[16];
char country[16];
int ms[6]; // set to 1 if pass
int mentor; // # students
int bonus;
};
struct db *readDB(char fname[]);
int mark(struct DB ss);
#define NSTUD 100
int main(void);
int mark,id;
struct DB *db;
db=readDB("db.csv");
mark=calcMark(db[id]);
}
int calcMark(struct DB rec){
int sum=0;
int iMS=0;
while(rec.ms[iMS]==1 && iMS<6){
sum+=15;
iMS++;
}
if(rec.mentor>10)sum+=10;
else sum+=rec.mentor;
sum+=rec.bonus;
return(sum);
}