FAQ's 2: Higher Years in MATH - Courses and Streams
If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Mathematician John Horton Conway caught on von Neumann's idea of a self-replicating machine, and came up with the Game of Life, a zero-player game which generates wonderfully diverse patterns determined only by its initial state.
Similarly, everyone begins university life with different initial states. In this set of FAQ's, our faculty members give suggestions on concerns MATH students may have, based on their up-to-date understanding of CUHK and university studies. To follow our guidance takes away some of the fear, uncertainty and decision fatigue you may face in CUHK MATH's Game of Life.
CUHK MATH is a family. We encourage excellence, yet we respect each individual's choice to stray from the "safe side" – after counting the cost, of course.
More importantly, we have been restructuring the MATH and MIEG programmes since the new curriculum launched in 2012. The "oral traditions" of senior students, may or may not apply to you. Remember that we’re in the Game of Life, and senior students' initial states differed much more than yours. Therefore, before adopting "oral tradition"-based solutions, think twice.
Always pursue official answers to questions about the curriculum or university regulations. Avoid hearsay.
Some opening remarks
- This is meant to be a continuation of ‘FAQ’s 1: First year in MATH’.
- In order to graduate in the MATH programme, you have to fulfil all the graduation requirements, as stipulated in the study scheme applicable to you, which is available in the CUSIS.
Our purpose here is to describe the salient features in the study scheme. For greater detail, refer to the CUSIS. If you have a question about the study scheme, send your enquiry to
They may be summarized as below:
- Passing all ‘compulsory MATH courses’ at level 1000 and 2000.
- Passing at least one of MATH3060, STAT2001, STAT2006.
- Fulfilling all the specific requirements in one of the streams.
- Passing one of the ‘capstone’ courses.
These courses are:
- MATH1010, 1030, 1050,
- MATH2010, 2020 (Advanced Calculus I, II),
- MATH2040 (Linear Algebra II),
- MATH2070 (Algebraic Structures),
- MATH2221 (Mathematics Laboratory),
- MATH2230 (Complex Variables with Applications),
- MATH2050, 2060 (Mathematical Analysis I, II).
They can be regarded as the ‘core’ of the curriculum of the MATH programme.
(For more detail, see ‘Core Courses: Calculus, Algebra and Computing’ and ‘Core Courses: Mathematical Analysis’.)
- Enrichment Stream,
- Computational and Applied Mathematics Stream,
- Mathematics Stream,
- Mathematics-Education Stream,
- Mathematics-Multidisciplinary Stream
- Computational Big Data Analytics Stream.
Students who fulfill the respective requirements of both the Enrichment Stream and Computational and Applied Mathematics Stream may graduate with the ‘double stream’.
Furthermore, for those students admitted in the academic year 2017-18 or after, the STARS stream is available. As the STARS stream is administered by the Faculty of Science, any enquiry on this stream should be referred to the Faculty.
(For more detail, see ‘Streams in the MATH programme’.)
- MATH4900 (Seminar),
- MATH4400 (Project).
(For more detail, see ‘Capstone Courses’.)
1. Core Courses: Calculus, Algebra and Computing
Here we are concerned with these three groups of ‘core’ courses:
- the ‘calculus’ courses MATH2010, 2020, 2230,
- the ‘algebra’ courses MATH2040, 2070,
- the ‘computing’ course MATH2221, and
- the ‘computing’ course CSCI1540 (only for the Computational and Applied Mathematics stream and the Computational Big Data Analytics Stream).
We will discuss MATH2050, 2060 later. (See ‘Core Courses: Mathematical Analysis’.)
These courses may be regarded as a ‘sequel’ to MATH1010, which covers calculus of one real variable.
With the help of basic linear algebra in MATH1030, the ideas and methods covered in MATH1010 are extended to calculus of several real variables in MATH2010, 2020, and then further extended to calculus of one complex variable in MATH2230. (See Q1.4, Q1.5 also.)
In MATH1030 you have learnt the basic ideas and methods in linear algebra. In MATH2040 such ideas and methods are given a theoretical foundation, and extended in such a way that they will become applicable in more general situations.
Since school days, and through onto various level 1000 courses, you have been exposed to bits and pieces of ideas and methods that can be loosely termed as algebra. The loose ends will be picked up and tied together in MATH2070 to present a basic picture in modern abstract algebra. (See Q1.4, Q1.6 also.)
This course is about the MATLAB software. The aim is to apply computational and programming techniques to tackle mathematical problems. (See Q1.4, Q1.7 also.)
The answer for the first question is also ‘yes and no’, depending on your progress and overall planning.
The answer for the second question is ‘yes and no’, but very much leaning towards ‘no’.
We hope that you have done MATH2010, 2020, 2040, 2221, and at least one of MATH2070, 2230 by the end of the second year of study.
- Almost every ‘advanced course’ in mathematics (MATH courses at level 3000 or above) presumes familiarity in the material covered in MATH2010, 2020, 2040.
- A few advanced courses may presume a strong background in modern abstract algebra.
For instance, if you take MATH3030, you may be assumed to have learnt everything covered in MATH2070, whether you have formally passed the latter or not.
- The French mathematician Hadamard was alleged to have said: ‘The shortest path between two truths in the real domain passes through the complex domain.’
Ideas and methods covered in MATH2230 could unexpectedly turn up where you never suspected, when you are taking an ‘advanced course’ in mathematics.
- If you want to graduate in the Computational and Applied Mathematics Stream, or the Computational Big Data Analytics Stream, it is much better to have done MATH2221 by the end of the second year of study, because courses for those streams may presume competence in computational and programming techniques.
- These core courses provide the basic theoretical knowledge and computational skills that you may need in other disciplines. A timely completion of these courses will bring you much benefit when you take mathematics-related courses offered by other departments, or when you decide to pursue further studies in a discipline which relies on mathematics.
These courses may best be done in succession over three semesters, after you have done MATH1010 and MATH1030.
- Be aware that MATH2010 is a pre-requisite for MATH2020, and MATH2020 is a
pre-requisite for MATH2230.
So, for instance, to take MATH2020 in a certain semester, your CUSIS record must indicate a pass grade in MATH2010 prior to the beginning of that semester; otherwise you will be automatically dropped from MATH2020 even though you have successfully registered for a place in MATH2020 through CUSIS. The same can be said of MATH2230 in the light of MATH2020 being its pre-requisite.
- As MATH2010, 2020 are continuations of MATH1010, when you take these
courses you are assumed to be well-versed in everything that has been
covered in MATH1010. It is your own responsibility (and not the teacher’s)
for you to ‘pick up the pieces’ in MATH1010 that you have ignored when
taking the course or have forgotten after the examination.
Furthermore, although MATH2010, 2020 is concerned with generalizing the ideas and method covered in MATH1010, what you have learnt in MATH1030 will play a crucial supporting role from time to time.
- In MATH2230, you are assumed to be familiar with the basics about complex numbers beyond what you learnt at school. Before taking this course, make sure you recall what you have learnt about complex numbers in MATH1050 or in the First Year Honours Scheme.
MATH2040 may be done after you have done MATH1030 and MATH1050.
It is slightly better to do MATH2070 concurrently with, or subsequent to, MATH2040.
- As MATH2040 is a continuation of MATH1030, when you take this courses you are assumed to be well-versed in everything that has been covered in MATH1030. It is your own responsibility (and not the teacher’s) for you to ‘pick up the pieces’ in MATH1030 that you have ignored when taking the course or have forgotten after the examination.
- You are assumed to be literate in abstract mathematics by the time you do MATH2040 and/or MATH2070. Do remember that you have been given training in this aspect when doing MATH1050.
MATH2221 is likely to be offered in the second semester.
Experience suggests students who have taken the elective course CSCI1540 in the first semester tend to perform better in MATH2221 in the second semester. (CSCI1540 is a required course for the Computational and Applied Mathematics Stream and the Computational Big Data Analytics Stream .)
This course introduces fundamentals of C++ programming. It gives necessary computing background for computational and applied mathematics courses. (See Q1.9 also.)
CSCI1540 is likely to be offered in the first semester. Students are advised to take this course in the first semester and MATH2221 in the second semester. The course CSCI1540 is a required course for the Computational and Applied Mathematics Stream and the Computational Big Data Analytics Stream. It is noted that CSCI1540 is not for students who have taken CSCI1020 or 1110 or 1120 or 1130 or 1510 or 1530 or ESTR1100 or 1102.
2. Core Courses: Mathematical Analysis
They are MATH2050, 2060. They cover elementary topics in mathematical analysis, which provides the theoretical foundation of calculus.
- MATH2050 covers the theory of limits and continuity.
- MATH2060 is a continuation of MATH2050: it covers the respective theories of differentiation and integration, and the theory of uniform convergence.
Note that MATH2050 is a pre-requisite for MATH2060. To take MATH2060 in a certain semester, your CUSIS record must indicate a pass grade in MATH2050 prior to the beginning of that semester; otherwise you will be automatically dropped from MATH2060 even though you have successfully registered for a place in MATH2060 through CUSIS.
Indeed students tend to find these two courses more challenging than the other core MATH courses. These two courses appear to be ‘furthest away’ from what you experienced in school mathematics, in terms of both content and approach.
This may give you an idea of the difficulty level. Students who have comfortably passed (say, in B range) in other core MATH courses may struggle in MATH2050. Most of them find that a much greater effort, applied consistently throughout the semester, is needed in getting used to MATH2050, in contrast to the other core MATH courses.
It is crucial that you reserve enough time and effort for it when you take on MATH2050, 2060. This brings you to the question of your overall planning. (Refer to ‘Overall Planning’ in ‘FAQ’s 1’.)
The optimal time frame is that they are to done within the second and third years of study. However, the exact timing depends on whether you are ready to take the courses, and also on how you plan to fulfil your graduation requirements.
- Many advanced courses may be done concurrently with MATH2050, 2060. Therefore you are not obliged to complete MATH2050, 2060 in the second year, if you are not ready for them.
- A few advanced courses, such as MATH3060, 3070, 3093, 4010, 4050, 4060, require a strong background in analysis. You may think of MATH2050, 2060 as pre-requisites de facto for such courses.
The two factors below may help you decide which term is better for you to take MATH2050:
- your overall planning (on exchange, internship, minor subjects, streams et cetera). (See Q2.8.)
- your mathematical preparedness. (See Q2.5.)
If a student can handle MATH2050 comfortably, it is unlikely that he/she will run into trouble with MATH2060. So it is important that you take on MATH2050 seriously.
There is no easy answer to this question. Your answers to the following questions may serve as indicators:
- ‘What is my overall performance in MATH1010, 1030, 1050 and possibly MATH2010, 2020, 2040?’
- ‘Was I concerned with calculations alone, ignoring theoretical considerations almost altogether, when I was doing other required courses? Was I comfortable when the teachers talked about things that are regarded by fellow classmates to be “very abstract”?’
- ‘Did I participate in the First Year Honours Scheme? Did I seriously prepare for the test of the First Year Honours Scheme? How did I perform?’
- ‘Did I do any revisions during the summer following the first year of study?’
If you are going to do MATH2050 in the third year, you may ask yourself the following questions:
- ‘Will I be much better prepared to do MATH2050 in the third year?’
- ‘Have I planned for doing MATH2050, 2060 in the third year?’
The best possible preparation for MATH2050 is:
- Work hard in the other core MATH courses in the first and second
years of study:
- Core skills for handling the material in MATH2050, 2060 are covered in MATH1010, 1050.
- Ideas directly related to the course content of MATH2050, 2060 may often come up in MATH2010, 2020, 2230.
- Although MATH2040, 2070 seem to have little to do with MATH2050, 2060 in terms of content, these courses will help you get used to the more formal and theoretical aspects of the latter.
- Participate in the First Year Honours Scheme.
- During the second year, if time permits, sit in the lectures and tutorials of MATH2050 and do the homework.
- Make good use of the summer following the second year, putting MATH2050 as the top priority amongst other activities.
- Plan ahead the advanced courses for the third and fourth years, and think of any suitable summer courses. This is necessary because you may be doing more MATH courses each term on average than your classmates, and because to fulfil stream requirements you may want to take some advanced courses which are offered in specific semesters only. (See ‘Streams in the MATH Programme’.)
- Try to make use of the spared units in the second year to explore other disciplines and to develop a minor degree. (Refer to Q5.3, Q5.4 in ‘FAQ’s 1’.)
Be aware that MATH2050 is a pre-requisite for MATH2060, and your ‘capstone course’. Both courses are part of the graduation requirement for the MATH programme.
For this reason, postponing MATH2050 beyond the third year of study is very risky; you may end up delaying graduation. (See ‘Capstone Courses’.)
3. Streams in the MATH programme
For the official description of each stream, refer to the CUSIS.
For a more down-to-earth description, you may visit
Our purpose here is to provide some reminders which are not on the curriculum level but nonetheless need to be taken care of when you plan the courses.
The specific graduation requirements vary from one stream to another.
If you want to graduate in a specific stream, find out as early as possible the requirements for that stream.
Start planning early, especially if you intend to graduate in a stream which involves a lot of courses offered not by the Department of Mathematics. Allow as much flexibility as possible. This is because the course offering pattern and the timetable et cetera could conflict with that of the MATH required courses.
Besides, you may want to go for exchange or internship at some point; that could further complicate matters.
- MATH3030 (Abstract Algebra), itself an elective for the Enrichment
Stream, is a continuation of MATH2070, and is a pre-requisite for the
algebra-type electives MATH3040, 4080 for the Enrichment Stream.
MATH3030 is likely to be offered in the first semester only, and MATH3040, 4080 are likely to be offered in the second semester only, in alternate years.
- MATH3060 (Mathematical Analysis III), itself an elective for the
Enrichment Stream, is a continuation of MATH2050, 2060, and covers crucial
background knowledge for other analysis-type electives MATH3070, 3093, 4010,
4050, 4060 for the Enrichment Stream. It is likely to be offered in the
first semester only.
MATH3093, 4060 are likely to be offered in alternate years.
- For students not admitted as Enrichment Mathematics entrants, there is a minimal GPA qualification for the Enrichment Stream.
- CSCI1540 is a required course for the Computational and Applied Mathematics Stream. It is likely to be offered in the first semester only.
- MATH3230 is a required course for the Computational and Applied Mathematics Stream. It is likely to be offered in the first semester only.
BMED3011 is the pre-requisite for all other BMED courses. This is likely to be offered in the second semester only.
- MATH3320, 3330, 4280 are all required courses for the Computational Big Data Analytics Stream.
- CSCI1540, which is likely to be offered in the first semester only, is a pre-requisite of MATH3330.
- MATH3320 and MATH3330 are pre-requisites of MATH4280.
- Students are advised to take CSCI1540 in the first term of year 2, MATH3320 in the first term of year 3, MATH3330 in the second term of year 3 and MATH4280 in the first term of year 4.
4. Capstone Courses
Our purpose here is to give you an overall picture on the capstone course arrangements. You may find the detail about the current academic year in the department homepage:
The precise arrangements for any specific academic year will likely be announced very soon after the Second Semester examinations for the previous academic year.
In order to graduate as a MATH major, you must pass either one of:
- MATH4900 (Seminar),
- MATH4400 (Project).
They are the ‘Capstone’ courses in the MATH programme. Note these points as well:
- These two courses are mutually exclusive: having taken either course you will be barred from taking the other.
- MATH2050 is a pre-requisite for MATH4900. You will not be allowed to take MATH4900 until you have passed MATH2050.
- As for MATH4400, refer to Q4.3.
Most MATH students are expected to use MATH4900 as their ‘Capstone’ courses, and to take the course in the first semester of the final year of study. For this reason, you are expected to have passed MATH2050 by the end of the third year of study. (See Q2.8, Q2.9.)
If, for whatever reason, you are deviating from the above pattern, you will likely be required to go through some special application process.
MATH4400 is intended for MATH students who have strong potential for doing research in mathematics.
To be allowed to take MATH4400, you need to fulfill certain conditions in terms of your major GPA. Moreover, you must find a teacher who is willing to supervise you in this course.
It is likely that you need submit the application to the department (which includes obtaining consent from your potential supervisor) during the summer prior to the academic year in which you take MATH4400.
As it may take some time for the teacher to know sufficiently about you to decide whether to supervise you or not, you need start the planning (for example, looking for an area of study, approaching potential supervisor) even earlier. (Refer to ‘Overall planning’ in ‘FAQ’s 1’.)
Last updated: August 2019