Contents
  1. 1. Around 2015
    1. 1.1. Connection with the Freshman Seminar Course
    2. 1.2. Website Development Process
      1. 1.2.1. Development Team and Division of Labor
      2. 1.2.2. Problems Encountered During Development
    3. 1.3. Official Release
      1. 1.3.1. Communicating with the Academic Affairs Office
      2. 1.3.2. Launching on Children’s Day
    4. 1.4. Early Promotion of the Website
      1. 1.4.1. Sending a Mass Email to USTC Teachers
      2. 1.4.2. Review and Book Giveaway Activity
  2. 2. 2016~2021
    1. 2.1. Changes in Personnel
  3. 3. 2022
    1. 3.1. New Public Relations Incident
    2. 3.2. Developing New Features After 7 Years

This content was automatically generated by gpt-4o-mini (No human review). The original post is in Chinese.

The USTC Course Evaluation Community is a course evaluation website developed by me, Li Bojie (boj), and Chang Zhen in 2015, aimed at the students and faculty of the University of Science and Technology of China (USTC). This project originated from a course I took in my freshman year called “Freshman Seminar on Science and Society.” The initial purpose of the website was to promote the transparency of course information on campus and help students find courses that suit them better. As of today (July 2, 2022), the website has been running for 2606 days, with 6851 registered users and 17463 course reviews. Currently, there are 1120 courses with at least 5 reviews and 535 courses with at least 10 reviews. It can be confidently said that the course evaluation community has become an important source of information for USTC students when choosing courses.

In this blog, I want to share the story behind the course evaluation community. Why did we create the USTC course evaluation website based on Professor Zhao Jin’s “Freshman Seminar on Science and Society” course in the Department of Physics? And how did we actually manage to build a website that looks quite professional? Let me explain slowly.

Regarding the story from around 2015, I will mainly refer to some records from my freshman seminar course.

Around 2015

Connection with the Freshman Seminar Course

In my freshman year, I became interested in computer technology, believing it could help me better change my life and realize my ideas. I was particularly eager to learn website development skills, so I took the opportunity of the free topic selection in the freshman seminar course to choose a course on “Learning Website Development.” Even without the seminar, I would have pursued this, and since freshman students have limited time, I wanted to use the seminar’s deadlines to keep myself accountable.

As for why I wanted to create a course evaluation website, it was because, as a freshman, choosing courses was a significant headache for me. Before selecting courses, I couldn’t get enough information about them, making it hard to determine if they were what I wanted to study or if the teacher’s style would suit me. I hoped that USTC would have a course evaluation website where students could share their course experiences, providing me with references when choosing courses instead of just guessing what a course might teach based on its title…

Another reason was influenced by my experience with MOOCs. Before entering USTC, I had taken several MOOC courses and was an active user of Guokr’s MOOC Academy (which has since been taken offline). The MOOC Academy focused on being a Chinese learning community and communication platform for MOOCs, where users shared course notes and reviews. I had also published many course notes and reviews on the MOOC Academy and was invited to be a “course evaluator” for several courses, which involved quickly completing a course and then reviewing it on the platform.

For me, the choice of MOOC courses was very free. Since my MOOC learning was voluntary and proactive, when I wanted to take a course, I mainly considered the following aspects:

  1. Whether the course content was what I wanted to learn
  2. Whether the course itself was interesting
  3. The difficulty of the course and whether my level was suitable
  4. The workload of the course and how much time it would require

The MOOC Academy provided me with significant help in selecting MOOC courses. Therefore, after entering university, it was only natural for me to want to create a course evaluation website for USTC. I believe students should have greater autonomy in course selection, needing to understand course content, teaching styles, and difficulty levels in advance to choose courses based on their interests, preferences, and needs. Only by mastering the autonomy of course selection can students take the most initiative in their learning, rather than being passive learners.

This is why I decided to create the USTC Course Evaluation Community website in my freshman seminar course.

Website Development Process

Development Team and Division of Labor

My freshman seminar topic is “Learning Website Development,” so I initially planned to develop the website by myself. Therefore, I listed the content I needed to learn in my topic report:

Learning web development involves both front-end and back-end. For the front-end, I need to learn: HTML & CSS, JavaScript, jQuery, front-end frameworks (I chose Bootstrap); for the back-end, I need to learn: databases, back-end languages (I chose Python), web frameworks (I chose Flask), HTTP servers (I chose Nginx). These are the main skills I need to learn, with some emphasis depending on the implementation requirements. (I feel it’s very likely I won’t be able to learn all of these.)

I had already learned Python in high school, but I knew nothing about website development. I started learning HTML and CSS at the end of my freshman first semester (January 22, 2015) and spent my winter break at home learning front-end development. Later, I realized that I couldn’t learn all the necessary front-end and back-end technologies by myself in a short time. So, I found two teammates; I was responsible for product design and front-end development, while the two teammates handled back-end development. Regarding how this team was formed, I wrote in my project report:

Some people are curious about how our team was formed. Was it because we gathered together out of interest? Actually, not entirely. The idea for this project was mine; boj was my boyfriend at the time, and since he had also thought about creating such a website during his undergraduate studies, he joined in. Chang Zhen was boj’s roommate and often asked him technical questions. I don’t know why Chang Zhen was interested in this project; he was the one who heard we were doing this and took the initiative to join. That’s why our team has a freshman from the School of Physics and two first-year graduate students from the School of Computer Science. However, in the early stages of the project, neither boj nor I understood Flask, while Chang Zhen had experience with Flask development, so he helped a lot at the beginning. Zheng Zihan is our friend, and he was also interested in the project itself, but since he didn’t know Python or front-end development at that time, he only joined halfway through the project, mainly to help find vulnerabilities in the website.

I still remember in my freshman year, I sneaked into the boys’ graduate dormitory and developed the website with boj and his roommate. Additionally, boj and I often worked on the website in the USTC LUG activity room, sometimes until 1 or 2 AM. During my time in college, I rarely stayed up late for assignments; developing the evaluation community was one of the few things that kept me up late.

Problems Encountered During Development

Working on the USTC Course Evaluation Community project took nearly three months, from March 8 to May 25, when we released the internal test. During this period, we actually had several breaks, and the time spent on daily development was only a little over a month. In my mid-term report, I mentioned several issues we encountered during the project:

  1. No one was working
  2. Chaotic collaboration
  3. Unfamiliarity with tools

The reason for the “no one was working” issue is quite simple: everyone was a university student. At that time, I was a freshman in the Physics Department, and my two teammates were first-year graduate students in the Computer Science Department. Everyone had a heavy academic workload, and it was quite rare to find time to develop this website. Speaking for myself, by the second semester of my freshman year, I had already planned to transfer from the Physics Department to the Computer Science Department, so that semester I attended classes with students from the Computer Science Department. I took the following 10 courses:

Programming II (Huang Zhangjin), Algebraic Structures (Han Wenting), Linear Algebra B1 (Chen Falai), Multivariable Calculus (Li Juan), Digital Media Technology (Xie Dong), College English Listening and Speaking III (Fang Jing), Intermediate College English Reading and Writing (Chen Jing), International Sports Dance (Female Steps) (Xu Xiongjie), Basic Principles of Marxism (Zhang Shunling), Freshman “Science and Society” Seminar (Zhao Jin)

Among these, there were three hardcore math courses (Algebraic Structures, Linear Algebra, Multivariable Calculus) and one C++ course from the Computer Science Department. I can say that these courses really stressed me out. My GPA in the first semester of freshman year was 3.4, but by the end of the second semester, it had dropped to 2.46, which shows how tough that year was. This led me to consider abandoning science for the humanities and to never study math again. I acted on this thought, and thus I transferred to the Department of Science Communication in my sophomore year (that’s another story). In short, during such a dark semester, I developed the course evaluation community website with my boyfriend and his roommate, which shows that interest is truly the best teacher.

The chaotic collaboration issue included asynchronous working hours, unclear division of labor, lack of documentation, frequent arguments, etc., all of which are easy to understand. In my mid-term report, I also mentioned a few lessons learned from this project development:

  1. Interest allows for time investment, no matter how busy one is
  2. Collaboration requires rules and incentives
  3. Learning involves conflicts between practical experience and learning on the go

Regarding the first point, I have already explained above that without interest, I would not have had time to work on this project during my second semester. The second and third points actually explain some of the problems encountered during the project’s progress. On one hand, I had no prior experience in website development, so I was learning while doing, which inevitably slowed down the project’s progress. However, I believe this is the fastest way to learn. As for the collaboration issue, I mentioned in my final report:

During the project development, there were often programmers not working, probably because our project lacked an incentive mechanism. There were times when no one worked for over ten days, which led to frequent arguments about work. Considering that our project was eventually released is quite an achievement; the several reports for the freshman seminar played a good role in supervision. So, I am grateful to Professor Zhao for not restricting our topic selection.

Official Release

Communicating with the Academic Affairs Office

Before the official launch of the course evaluation community website, I sent an email to the leaders of the Academic Affairs Office at the university. The main goal was to communicate with the relevant departments in advance, letting them know the original intention behind creating this platform, who the developers were, and hoping to gain the support of the Academic Affairs Office (or at least not face any opposition). After all, the course information on our website was pulled from the academic system, and initially, the server was located in the East Campus Library. Later, the person in charge of the Academic Affairs Office actually replied to my email and scheduled a time for us to meet in person at the old East Campus Library. The basic response I received was that the Academic Affairs Office would not interfere with our website, neither supporting nor opposing it, allowing us to develop on our own. Looking back, this proactive communication with the Academic Affairs Office may have yielded good results. Over the following seven years, we received several complaints from university faculty, but the university never intervened on an official level to force us to remove negative evaluations of courses.

Launching on Children’s Day

The official launch of the course evaluation community was on June 1, 2015. The slides presented at the time outlined the next steps, which included:

  • Multi-platform operation (WeChat, Weibo, BBS, posters…)
  • Notification system (mention feature)
  • Redesigning the homepage
  • Displaying classmates
  • Course assignment bulletin board

Of these plans, only the notification system was implemented; the other features have not been realized to this day.

Early Promotion of the Website

After the official launch, I gave two project presentations in the freshman seminar and the Department of Science Communication. Initially, we envisioned a multi-platform operation, but in reality, we did not spend time on that. Therefore, the course evaluation community gained popularity solely through word of mouth among the students at the university.

Sending a Mass Email to USTC Teachers

In July 2015, we sent a mass email to all the teachers at USTC with the subject “Promote Your Courses through the USTC Course Evaluation Community.” The main purpose, aside from promotion, was to encourage teachers to send us their course descriptions. Part of that email read:

We are currently planning to develop a new feature that adds course descriptions for each course. As a student, I particularly hope to understand what a course teaches, what the assignments and assessment methods are like before selecting courses for the next semester. These are factors I need to consider when choosing classes. If you have a course next semester, could you please write a course description and send it to us? We will manually add it to the website. With course descriptions, more students will choose your course, and they will be better prepared for class.

Suggestions for Course Descriptions
The USTC Course Evaluation Community is inspired by the Guokr MOOC Academy, which places course information, materials, and interactions on a website for self-directed learning. A good course description can include the following information (this is just for inspiration; you don’t need to include all of it):

  1. Course Overview (What kind of course is this? What are the learning objectives?)
  2. Course Homepage (If there is an existing course homepage; if not, it’s not necessary)
  3. Teaching Syllabus (Class schedule, etc.)
  4. Textbooks and Reference Materials
  5. Teaching Format (Mainly lectures? Problem-solving classes, discussion classes? Use of multimedia? How will interactions occur?)
  6. Assessment Methods (What is the proportion of assignments and exams? Are there midterms, major projects, or presentations?)
  7. Prerequisites (What kind of students is this aimed at? What are the prerequisite courses?)
  8. Frequently Asked Questions (Such as previous course situations, expectations for students, whether there are teaching assistants)
    ….

I checked my USTC email and found that over 20 teachers had replied to this email. Most teachers expressed their support for the website, and some even sent us their course descriptions, which we added to the website.

Review and Book Giveaway Activity

In the early development of the course review community, the main issue we faced was the lack of reviews. If there are too few reviews for a course, it becomes less valuable as a reference. In September 2015, I organized a review and book giveaway activity. Below are the details of the event; yes, I even designed a banner to place on the homepage.

Activity Rules: In the USTC course review community, write a review for any course and receive at least 10 likes to get a free book! A total of 25 books are available, while supplies last!

How to Claim: Girls on the 320th floor can choose from the 401 dormitory, while other students can contact Zhang Jingning with the secret code: “Review and Book Giveaway.”

Books: The main offerings include books on mathematics and TOEFL preparation, with most mathematics books being brand new.

Book Donations: If you would like to see more reviews in the USTC course review community, we welcome book donations. All donated books will be used as prizes for users who write reviews.

Contact Email: service@icourse.club

I remember this event being quite unsuccessful; I didn’t give away a single book and was mocked by Cuihao, who said, “Who would want your books?” However, I believe it wasn’t the books that were the issue, but rather that very few people were writing reviews at that time, let alone getting 10 likes. Looking back at the historical data, in September 2015, there were 17 new reviews, 5 in October, 2 in November, and 4 in December, with a significant increase to 234 new reviews by January 2016. Now, we know from the website statistics that the addition of reviews is very seasonal, with more reviews typically added at the end of semesters (July and January).

2016~2021

The last commit I made to the course evaluation community was on September 22, 2015. After that, for a long period of 5 to 6 years, I did not commit any code to the course evaluation community, and it was boj who quietly maintained the community (thank you). So what happened after 2016?

Changes in Personnel

After being beaten down by several math courses in the second semester of my freshman year, I decided not to transfer to the School of Computer Science (I deeply regret this decision in 2022). With the mindset of not wanting to take any more math courses, I planned to transfer to the Department of Science Communication. Therefore, I took classes in the Department of Science Communication in the fall semester of 2015. However, in November 2015, I met Professor Wu Mingwei, and under his influence (brainwashing), I decided to stay in the School of Physics (for more details on this part, please see my major transfer series articles). So, starting in December 2015, I joined Professor Wu’s lab for a re-education in mathematical and physical fundamentals, completely putting aside my ambitions in web development and starting to focus on studying multidimensional analysis. Later, I stayed in Professor Wu’s lab for three months before being fired, and I had no choice but to continue studying in the School of Physics.

Speaking of Professor Wu, there’s an interesting story here. He has always been very strict with students. When he learned that I had a course evaluation website for students at the university to evaluate their professors’ courses, he specifically called me. In the call, he suggested that I shut down the course evaluation website, reasoning that he believed students did not know what constitutes a good course. In his words, “students are not qualified to evaluate professors’ courses.” Of course, I did not heed his advice and refused his request.

In the fall semester of 2015, boj went to Beijing because his doctoral program was a joint training project between the University of Science and Technology of China and Microsoft Research Asia. I remember that after he went to Beijing, he became very busy with research, unlike during his first year in Hefei when he spent a lot of time on things unrelated to research. Chang Zhen probably stopped participating in the development and maintenance of the website after the course evaluation community was launched.

In the summer of 2016, boj and I broke up. The only agreement we made at the time was that he would continue to maintain the course evaluation community (otherwise, the website would go offline). Later, boj got a new girlfriend and once contacted me, saying he could no longer participate in the development and maintenance of the course evaluation community and wanted to hand over the website to me. It was at that time that the domain name icourse.club came into my hands. Fortunately, after a few months, boj started quietly maintaining the website again.

So, from 2016 to 2021, the course evaluation community did not actually add many new features; it was basically boj who regularly imported courses by himself. At the beginning of each semester, he would scrape courses from the academic affairs office’s website and import them into the course evaluation community database. Occasionally, users would email us to report some bugs on the website, and boj would promptly fix the bugs and reply to the emails. My communication with him was limited to emails regarding the course evaluation community’s related business.

2022

Time quickly moved to 2022. boj had graduated with a PhD and started working at Huawei, while I graduated with a master’s degree and became an ordinary worker.

New Public Relations Incident

Since the establishment of the course review community seven years ago, we have actually received only a handful of complaints, and the number of blocked course reviews is also very few. In previous complaint incidents, course instructors often only complained about one review, and those reviews clearly had issues, so we quickly blocked them. There was also one instance where the review in question seemed completely fine to us, so we replied that we would not delete it, and the other party did not pursue the matter further.

In March 2022, we received an email from a teacher requesting the deletion of course reviews. This complaint involved nearly ten comments, many of which did not seem to be obvious personal attacks to us. The teacher sent us over a dozen emails, starting with a relatively good attitude, but when he saw that we were not responding quickly to his demands, he began sending threatening and abusive emails and started contacting the website administrator through various means. Although we initially replied to his emails and informed him that we were developing the website in our spare time, so we needed time to handle his request. This public relations incident prompted the development team to reconnect, and we realized that the “Community Guidelines” written in 2015 were no longer suitable for the current state of the website. In addition to discussing how to handle the teacher’s complaint, we also discussed how to improve the community guidelines for the course review community, what features to add or modify, and how to respond to similar incidents in the future. Ultimately, we released new “Community Guidelines” (mainly written by cuihao) and “Review Complaint Process” (mainly written by me).

Also due to this public relations incident, we realized that the maintenance of the course review community had been overly reliant on boj alone. Therefore, in March 2022, cuihao began to join the development team of the course review community, participating in handling public relations incidents and backing up the website database. Meanwhile, I had learned website development again in 2021 (mainly backend and database), and during the development of the PI Review website, I revisited a lot of the code from the course review community. From then on, the course review community would no longer depend solely on boj; it can be said that if one day boj is unable to continue maintaining the course review community, both cuihao and I can carry on this banner and continue to develop the website.

Developing New Features After 7 Years

The public relations event in 2022 brought more positive impacts to the course review community. On one hand, it allowed our development team to reconnect; on the other hand, we realized that the current course review community is very different from what it was in 2015, mainly due to the significant increase in the number of course reviews. As a result, many features that were not considered back then have now become necessities. For example, a single course can have over 100 reviews, making the sorting of course reviews extremely important.

After re-evaluating the current course review community, we developed a series of new features:

  • Course list page that allows filtering by course category and sorting by course rating and number of reviews.
  • Course page where reviews support multiple sorting methods, can be filtered by semester and rating, and displays the distribution of review semesters and ratings.
  • Follow page divided into updates from followed users and updates from followed courses.
  • Notification system that modifies the logic of notifications, such as only notifying the author when their review is liked, and allowing the author to see who liked their review.
  • New site statistics page that shows course rating distribution, number of course reviews, new review/user curves, and other data.
  • New course review community leaderboard displaying the most popular teachers, courses, reviews, etc.
  • New features to protect user privacy, including anonymous reviews, visibility only to logged-in students, hiding personal profiles, and hiding reviews (coming soon).
  • Importing curriculum information (still in development).

Some of these features I implemented myself (both front-end and back-end), some I developed with boj (I proposed the requirements, implemented the front-end, and he handled the back-end, just like the development in 2015), and some were entirely implemented by boj (I was only responsible for product design and suggesting modifications). I am very happy that after 7 years, the original development team of the course review community can continue to collaborate and develop this website, launching these new features that I find quite impressive.

Previously, I communicated with Teacher Zhao, thanking her for not restricting my choice of topic, which was completely unrelated to physics. Without Teacher Zhao’s free classroom atmosphere back then, perhaps the course review community would not have been born. Teacher Zhao expressed surprise that this website is still maintained by the same team. Indeed, when I graduated, we considered handing the course review community over to USTC LUG students for maintenance, but there was no follow-up, perhaps because the LUG students were not interested in website development. However, we now believe that it is not a bad thing for boj and me to continue maintaining this website, as handing it over to current students might expose them to pressure from the school, college, or teachers to delete reviews or even take the website offline. On the other hand, we have the technology, capability, and a strong belief to keep this website going.

As for myself, after graduating from the School of Physics at USTC in 2019, I came to the United States and enrolled in the PhD program in NanoEngineering at UCSD. Later, for various reasons, I chose to withdraw from the PhD program, graduated with a master’s degree, and began looking for jobs related to Data Engineering and Software Engineering. My experiences over the past few years have made me realize that I am actually very interested in website development, especially in developing projects that I find meaningful. Last year, I spent three months developing the PI Review website by myself (also learning while doing, very similar to the feeling of developing the course review community in 2015). During that time, I used almost all my office hours to work on the website, and later cuihao joined me to work on it together. (So, the story is that I developed the USTC course review community with my ex-boyfriend, and now I am developing and maintaining the PI Review website with my current husband. These two websites are like my two children, but I can proudly say that I wrote most of the code for PI Review.)

During my years at USTC from 2016 to 2019, I often felt quite insecure. Due to the atmosphere at USTC that emphasized grades above all else, I struggled as a student with poor academic performance (for example, I did not receive any scholarships for outstanding students, did not join any talent classes, and extended my studies by a year, which made me feel isolated). For a long time, I doubted myself, and I did not pay attention to the USTC course review community; many friends who knew me might not even know that I was involved in this website. It was only in the past two years that I realized the importance of this website to me; it is my proudest project. It made me feel that I could create something valuable by combining my interests and abilities, and that I could produce a very good product.

Moreover, I can feel my passion in this area. When developing these two websites, I was very happy, even though, as a working person, I could only work on them after getting off work every day. I sacrificed sleep, exercise, and cooking time. I often thought about what new features I could add to these two websites before going to bed, while showering, or driving, and I would be excited for a long time about the good ideas I came up with, immediately rushing to implement them. Coupled with my previous experiences in high school with subtitle groups and the MOOC project, I realized that my interest lies in using computer and internet technology to change the traditional education industry. Thus, I have taken this as my current ideal and long-term career goal. I hope to expand the course review community and PI Review websites, covering more universities, helping more college students choose courses, and assisting more graduate students in selecting advisors. This is my biggest ideal at the moment, and I will continue to strive for it.

Contents
  1. 1. Around 2015
    1. 1.1. Connection with the Freshman Seminar Course
    2. 1.2. Website Development Process
      1. 1.2.1. Development Team and Division of Labor
      2. 1.2.2. Problems Encountered During Development
    3. 1.3. Official Release
      1. 1.3.1. Communicating with the Academic Affairs Office
      2. 1.3.2. Launching on Children’s Day
    4. 1.4. Early Promotion of the Website
      1. 1.4.1. Sending a Mass Email to USTC Teachers
      2. 1.4.2. Review and Book Giveaway Activity
  2. 2. 2016~2021
    1. 2.1. Changes in Personnel
  3. 3. 2022
    1. 3.1. New Public Relations Incident
    2. 3.2. Developing New Features After 7 Years