Computer Programming (Thu) 2023
News
(12/28) The results of the final exam. (answer paper)
Each multiple choice question (select one or more answer choices) is worth 4 points, and each question has four choices. You get -2 points whenever your choice is different from the correct answer, until the score of this question reaches 0. For example, suppose the correct answer is BE. If your answer is B, you get 2 points. If your answer is BC, you get 0 points.
The course has ended and there is no need to attend classes.
Final exam results will be announced on the course website on 12/28.
(12/25) The results of Assignment 5.
Test all the samples if your accuracy is not 100.
-1 means your program cannot be compiled.
-2 means output format error. The outputs of your program must be EXACTLY the same as those in the samples given by Assignment 5.
-5 means run-time error. Check whether every variable is properly initialized.
Final Exam
12/21, 9:10 am @ EC 6019
paper-and-pencil exam, closed-book, calculators and mobilephones are not allowed
Exam scope: materials covered between 11/2 ~ 12/14
Must be seated according to the seating chart
(12/20) Quiz results
The quiz in each week has 3 questions, and each question is worth 25 points. Attendance is worth 25 points. The total points of a quiz are 100.
If your quiz score is not on the list, please contact the teacher.
(12/12) The results of Assignment 4.
Test all the input-output samples if your accuracy is not 100.
If you pass all input-output samples, but your accuracy is not 100, check that all variables are properly initialized.
-1 means the program cannot be compiled.
-2 or 0 means output format error. Do not output line breaks that are not required by the assignment. For example, do not output line breaks in computeSemesterGrades(). Second example,
cout << "Enter the scores for each student:\n";
The above output addtional line break \n, which leads to output format error. Below is the statement from code template, which does not output line breaks.
cout << "Enter the scores for each student: ";
-3 means output format error. Do not output any characters that are not required by the assignment. You can use below for debugging, but when submitting assignments, you need to turn off below.
displayOriginalGrades(studentGrades, numberStudents);
On 12/7, the teaching evaluation survey will be conducted around 10:30 am, and the class will have a roll call. If the roll call is not answered, the semester grades will be affected. (教學意見調查之後會點名)
Assignment 5 is announced, and the due date is 12/22.
You must follow the rules under Grading Policy to send assignments.
(11/29) The results of Assignment 3.
Your program's outputs must match the input-output samples EXACTLY. (Check the spelling. Do not add or delete white spaces that is not required by the assignment.)
Use the mouse to select the output of your program and copy it to Notepad. Paste the assignment example to Notepad as well and compare the two.
Assignment 4 is announced, and the due date is 12/07.
You must follow the rules under Grading Policy to send assignments.
(11/8) The results of the midterm exam. (answer paper, grading info)
Assignment 3 is announced, and the due date is 11/23.
(10/31) The results of Assignment 2.
Carefully read each line of Assignment 2 from beginning to end.
Your program's outputs must match the input-output samples EXACTLY; otherwise, your program will receive a zero accuracy score. (You cannot output additional spaces, line breaks, or other symbols not specified by Assignment 2.)
Use the mouse to select the output of your program and copy it to Notepad. Paste the assignment example to Notepad as well and compare the two.
Examples of incorrect outputs. Take a look at them if you get a zero accuracy.
-1 means that your program cannot be compiled.
You can discuss the assignments with classmates. But you are not allowed to see their source code when doing the assignments. Such behavior constitutes plagiarism, and this will affect your semester grades.
Some students have been found to have plagiarized!
Midterm Exam
10/26, 9:10 am @ EC 6019
paper-and-pencil exam, closed-book, calculators and mobilephones are not allowed
Exam scope: materials covered between 9/7 ~ 10/19
Must be seated according to the seating chart.
We had some problem of recording teaching videos on 10/12, so I provide the one from last year instead.
(10/08) The results of Assignment 1.
If your accuracy is not 100, then
Carefully read each line of Assignment 1 from beginning to end.
Test all the input-output samples.
-1 means your program cannot be compiled.
-2 means the output format of your program is wrong.
It is recommended that you modify the code template to complete this asssignment.
If your accuracy is zero, it could be attributed to unitialized variables and other bugs.
In C and C++, local variables aren't initialized by default. Uninitialized variables can contain any value, and their use leads to undefined behavior.
No class on 10/5 due to a typhoon.
Assignment 2 is announced, and the due date is 10/27.
You must follow the rules under Grading Policy to send assignments.
We had some problem of recording teaching videos on 9/28, so I provide the one from last year instead.
We had a bit of a hiccup with the teaching video on 9/21, so I provide the one from last year instead.
Assignment 1 is announced, and the due date is 10/05.
You must follow the rules under Grading Policy to send assignments.
The accuracy results of Assignment 1 will be updated once a week. If you send the assignment before 10 pm 9/20, you can see the accuracy of your program on 9/21. You can fix and resend the assignment if the accuracy is not 100%.
Course Information
Instructor: 魏家博 (Chia-Po Wei)
To contact Teacher:
cpwei@mail.nsysu.edu.tw (Remember to mention your name, student ID, and class)
To send assignments:
cpwei@g-mail.nsysu.edu.tw
Lecture: Thursday 9:10 ~ 12:00 am @ EC 6019
Teaching Assistants: 宋祐安, 李丞凱, 陳俊堯, 吳愷祐
TA Hours: Wednesday 16:00~18:00, Thursday 17:00~19:00 @ 工EC 8011
Course Website: http://bit.ly/nsysu-prog-en-2023 (QR code)
Online IDE: onlinegdb, jdoodle, cpp.sh (before sending assignments you can use online IDE to check your programs)
Offline IDE:
Code-Blocks (download codeblocks-20.03mingw-setup.exe)
File -> New -> File -> C/C++ source -> Next -> select C++ -> enter your file path
If your OS is Mac, you can use Xcode.
Grading Policy
Midterm Exam: 25%
Final Exam: 25%
Quizzes: 10%
Zuvio: Search "zuvio 校園" in the app store of your mobile phone. (Do not select other versions of Zuvio, otherwise you will not be able to see the course contents.)
Course Title (課程名稱):學期 112-1 Computer Programming (Thu)
Course Code (課程代碼):11201325
Account: studentID@mail.nsysu.edu.tw (The first letter of studentID is in uppercase.)
This account is automatically generated by your student ID.
Do not register a new account unless you really need to create a new one.
If you need to register a new account, remember to use your real name so that I can know who you are.
This account is not the same as the school email address @student.nsysu.edu.tw
Password: 123 (You can modify the default password to avoid misuse.)
If you use the default password, it is recommended that you change it. Some students have mistakenly used other people’s accounts to log in.
There are no make-up exams for quizzes. If you need to take a leave, please attach related documents.
Do not take the quiz for other students, otherwise you get a zero for your quiz grades.
Assignments: 40%
Send your assignment to cpwei@g-mail.nsysu.edu.tw
Follow the rules to send assignments, otherwise your assignments will not be processed.
Use the following link to send assignments (require Chrome & gmail).
The file name of the email attachment should include your student ID, otherwise your assignment will not be processed. Remember to check your sent folder. If you find a mistake was made, just fix it and resend the email.
The assignments are designed for beginners. You should be able to finish the assignments independently.
It is recommended to use the TA hours if you have problems of doing the assignments.
Plagiarism Is strictly prohibited. We will use programs to check plagiarism. If plagiarism is proved, you get a zero for your assignments.
You can discuss the assignments with classmates. But you are not allowed to see their source code when doing the assignments. Such behavior constitutes plagiarism.
It is recommended that you sent your assignments as early as possible. Because if mistakes are found, you will have a chance to fix the mistakes before the deadline. Late assignments will not be accepted.
All the grades will be announced on the course website. Once the grades are announced, if you have any problems, you should contact the teacher within two weeks.
Textbook
Walter Savitch and Kenrick Mock, Absolute C++, 6th Edition, Pearson, 2016.
ISBN-13: 978-1-292-09859-3, ISBN-10: 1-292-09859-7, Book Cover, TWD $1350
Textbook Agent: 開發圖書公司, 0916-709-655 (甘先生)
The above textbook agent offers discount prices for group buying, or you can search other textbook agents that offer a lower price.
It is not mandatory to buy the textbook, but the textbook provides detailed descriptions of concepts or programming terminology, which are useful for beginners.
There is no need to use the latest version (6th edition). You can also use the 5th edition. (Table of contents of the 5th edition)