Q: Are there any prerequisites for the course?

A: No prerequisites are required or expected. This course is open to students from humanities, who are interested in coding and thinking about going digital in their future career. Also, you are highly encouraged to take this course because this course will be the prerequisite for several more advanced courses (e.g., Corpus Linguistics, Computational Linguistics).


Q: I have plenty experiences with other programming languages. Will this course still be suitable for me?

A: It depends on your need. This course will introduce the fundamental concepts of programming via the language R along with other popular languages. If you have no experience with R and would like to know more about this language, I would be very happy to have you on board. However, you may have been already very familiar with all these programming constructs we cover in the weekly tutorials. Please take this into account as well when you make the decision.


Q: Is the course open to auditors?

A: No, it is not. Official enrollment is needed.


Q: Is the course open to non-NTNU students?

A: Yes. Please contact the instructor for course enrollment.


Q: Do I need to prepare my own laptop?

A: Yes. You need a functioning laptop with you.


Q: Can I have my social apps on (e.g., , , , you-name-it) during the class?

A: I think you know the answer already.


Q: How do I submit my assignment?

A: All the assignments need to be submitted via Moodle. It is extremely important that students specify very clearly which questions each answer responds to. If you fail to follow this protocol we will not be able to properly grade the assignment.


Q: Do I have to do the coding in this class?

A: Definitely yes. In fact, everything you do in this class is coding, including in-class tutorials, assignments, and midterm/final exams. There will be coding assignments after we finish each topic.


Q: Can I use another programming language for the assignments?

A: No. As I have specified in the course description, the featuring language of this course is R. Students are expected to submit their codes written in the language required.


Q: Are there any midterm and final exams?

A: Yes. We will have both a midterm and a final exam, where you are expected to respond to the questions by writing codes. They are going to be timed sessions. However, you may consult any (inanimate) reference that is available to you during the exam sessions, e.g., handouts, books, on-line forums/discussions. Anything really. But you cannot consult your peers no matter it is in personal communication or through social-network apps.


Q: Which programming language should I learn first?

A: It is probably true that Python seems to be more widely used in different communities. However, in the academic community, especially in corpus linguistics, R is probably more often used, to accomplish several computational text analytic tasks due to its powerful capabilities of statistical analyses and data visualizations. Most importantly, based on my own experiences (I started with Java years ago, considered switching to Python for a while, and ended up with R), R is probably a better entry language for those with no background of computing.

Throughout the semester, I will also touch upon a couple of Python modules, which are more effective than R libraries. I need to stress that taking R as our featuring language does not imply that you cannot develop cross-language literacy. In connection to this, an adequate knowledge of one programming language should give you far more than enough for the future self-learning of other programming languages. Plus, it is a fact that most of the data scientists are proficient in more than one language. If you plan to continue this data-scientist journey, not being able to extend your coding proficiency from R to other languages may be a sign, not a good one though :(

Please also refer to the following articles if you are still interested in the pros and cons of these two languages.

On a side note, the following short clip probably gives you some ideas on how different programming languages evolved in the past few decades.