Copyright Statement#
All code parts of this project are open source under the GPL3 license. Other parts are publicly available under the CC BY-NC-SA 4.0 license.
This project is mainly organized by me personally. Some of the assignment codes are from my roommates, and some of the content is from the internet and Professor Tong Qiang's courseware at Capital University of Economics and Business. I would like to express my gratitude to them.
I do not guarantee the correctness of the content, so please use this material with a critical attitude.
Personal Experience#
The following is an excerpt from Tree Hole #4591252. It may contain personal bias. If it is offensive, please understand:
The part of coding and programming assignments in the teaching of health statistics is really hard to describe... For me, I don't even understand the course taught by the teacher, and the teaching of coding by the teaching assistant often relies on my own Google/Baidu/CSDN... The teaching assistant's assignments are mostly "give you a piece of code and tell you that this code can produce the required results," and that's it. They didn't even teach the input and output clearly, and then they gave an example assignment for students to copy (still in a situation where they only have a vague understanding of statistics), but what's even more outrageous is that the teaching assistant will find your shortcomings in various details after you submit the assignment, and then deduct your assignment score while criticizing your lack of statistical literacy. The problem is that in the first half of the semester, most students do not have such a high level of statistical literacy. Who would have thought that every sentence would require assumptions, attention to wording, and not rejecting anything, it's really outrageous.
I feel that health statistics is a course that does not focus on practical teaching, but imposes some coding assignments under the name of "practice," completely ignoring the fact that most students do not have a high level of coding skills (I consider myself to be one of the stronger ones in programming, but I still feel confused when learning code/writing assignments). Then, they directly teach various functions in R language without even having a basic understanding of R language teaching. This means that you may have to face the embarrassment of "never seen before, but you are required to write it" for some commonly used syntax, and I estimate that some people may have to try each function prefix like q, d, p, r one by one...
Alas, it's not really feasible to say that giving points is not enough, fortunately, it's pass/fail, so let's leave it at that.
[Eve] Our class teacher said in class: This is a course on health statistics, not a programming course.
[Francis] From the perspective of someone who has been through it, it is originally a course on statistical theory, not teaching you how to code.
[Grace] Programming is not important. The main problem is that this course on statistics is taught very poorly, with no organization, and the content is extremely confusing. It is not suitable for beginners to learn.
The biggest problem with this course is that it is a 3-credit major course. Without pass/fail, you must complete the learning of probability theory and mathematical statistics within a limited time, and you also need to learn some R language from scratch. In addition, you must keep up with the progress of the teacher every week, otherwise, the deduction of points in the quizzes will directly affect your GPA.
Personal Learning Process#
- At the beginning, I didn't pay much attention and was confident in my programming foundation. I thought the teacher's lectures on normal distribution were relatively simple, and there was not much effective class time.
- I found that there were four hours of computer practice every week, and there were also 1-2 quizzes. If I didn't listen carefully or study on my own, it was easy to get 6/10 or 7/10.
- I found that I didn't know how to do the assignments, so I hurriedly copied the teaching assistant's template before the deadline, resulting in a score of 80/100.
- Repeat the above cycle once, and feel more and more that this course is outrageous.
- I started to make up my mind to study hard, so I wrote the third assignment seriously and lost points in some details, getting a score of 95/100.
- I felt that it wasn't too difficult, so I started to slack off and couldn't keep up with the progress.
- During class, I heard some other students confidently respond to the teacher's various questions and enthusiastically discuss the knowledge points taught by the teacher during breaks. I didn't know what they were discussing, but I felt that I could handle this course, so I didn't pay much attention to it.
- During class, I felt that the teacher's lectures were not systematic, and I felt the same when reading the textbook. The parts related to mathematical reasoning were often unclear and skipped, and I couldn't connect the logical points of knowledge.
- I didn't listen carefully in class, so I needed to "preview" all the knowledge points of the class before doing the assignments. Each assignment took more than 2 hours. For some assignments that required drawing charts, I even made a three-line chart HTML generator in Python because of my perfectionism.
- In the second half of the semester, I started to study this course seriously, gave up listening in class, self-studied probability theory and mathematical statistics, and then connected the knowledge points from the beginning. Although it was still vague, it became systematic.
- Stayed up all night to review before the exam, spent two days summarizing notes, and reviewed previous years' questions (with a high repetition rate of multiple-choice questions).
- Did the multiple-choice questions carefully during the exam, tried my best to explain the definitions, and finished the long questions hastily because there was no computer practice due to the pandemic. Finally, I passed as I wished.
- After the exam, I complained to classmates studying economics at other schools. He showed me their R language courseware, and I significantly felt that it was better than ours. They were really teaching the language (although the statistical part was much less), and I felt that I learned more from their courseware in two hours than I did in a whole semester of learning R language.
Personal Experience#
- I recommend configuring R language for use in a modern editor like VS Code (Google keywords: R in VSCode, Radian). It provides a much better experience than R Studio, with an elegant interface and richer customization options (such as chart output), and you can even enjoy the intelligent suggestions of Copilot for free.
- In terms of statistical knowledge, I recommend self-studying Professor Chen Xiru's "Probability Theory and Mathematical Statistics" as a companion. You can preview before class or read the PPT at the beginning.
- In terms of software, focusing on learning R is enough. You don't need to learn STATA, SPSS, etc., unless you are a GUI enthusiast and can tolerate the outdated interface design of these software.
- Don't take the teacher's ridicule to heart during class, and don't worry about how other students are learning.
- Write assignments seriously, take notes during class, and I recommend typing on the computer. OCR recognition of courseware + typesetting by yourself is not only comfortable but also truly systematic learning.
- If you feel that entering data is quite troublesome when doing assignments (usually when the teaching assistant is lazy and doesn't provide you with a CSV file), you can learn regular expressions to quickly enter data, combined with VS Code/OCR.
- If you have perfectionism like me and want to draw an electronic version of a three-line chart, you don't have to handcraft a three-line chart generator like me. You can simply adjust the style using Excel/Numbers and then take a screenshot of a PNG to insert.
- When organizing your notes and writing assignments, you can also learn Markdown and LaTeX syntax. I recommend using Typora for Markdown editing, which provides real-time preview and customizable CSS styles, making it easy and elegant to write assignments. For LaTeX formulas, I recommend using Mathpix, which can recognize mathematical formulas in courseware, and students' email addresses have 100 free usages per month, which is enough. For detailed instructions on this part, please refer to R 语言.md.