How to choose Computational Science courses? First public draft

advertisement
How to choose Computational Science courses?
First public draft, August 27, 2005
Authors: Christian Kuehn (class of 2005), small changes by Marcel Oliver
Overview:
1.) Introduction
2.) Basic Courses – The First Year
2.a) Choice between Regular, Advanced and Intermediate Variants
2.b) Calculus
2.c) Laboratory Courses
2.d) Engineering and Science Elective
3.) Curriculum Requirements
3.a) Rigorous Mathematics
3.b) Computational Methods
3.c) Modeling Courses
3.d) Overview
4.) Computer Science
5.) Guided Research
6.) A Note on Transdisciplinary Courses
1.) Introduction
Computational Science (CPS) is designed as an interdisciplinary major and therefore
when you have the choice between several courses you should remember the following
statement from the description of the program as one guiding principle:
“Our curriculum is designed to provide a solid foundation for each of the three central
pillars of Computational Science: A good knowledge of mathematics and specifically of
mathematical analysis, the study of algorithms and training in their practical
implementation, and the exposure to at least one area of application in engineering or
science.”
Another principle to keep in mind in addition to choosing a balanced number of courses
to gain expertise in the key areas of CPS is that your knowledge and abilities are
challenged by the courses you take. Last but not least you should make sure that you
fulfill the graduation requirements, which are briefly treated below and in detail in the
Handbook for CPS (available through the Jacobs University website).
2.) Basic Courses – The First Year
As an incoming student you have the following choices, which strongly depend on the
previous mathematics, respectively computer science, education you had at high school
or elsewhere. The first option is to start with the so-called 'regular track', which includes
the following core courses in the first two semesters:
110101 & 110102 General Mathematics and Computational Science I / II
120101/120111 & 120112 Engineering and Science Mathematics (ESM) 1 & 2
320101 & 320102 General Computer Science I / II
110102 Symbolic Software Lab
110112 Numerical Software Lab
320111 & 320112 Computer Science Labs
For a more detailed discussion of the ESM courses and laboratory units, see sections
below. Alternatively, you can follow the 'honors' or 'advanced' version, which includes
the following courses:
100211 & 100212 Analysis I & II
100221 & 100222 Linear Algebra I & II
320101 & 320102 General Computer Science I / II
Lab Courses as above
Intermediate combinations are always possible, e.g. General Mathematics and
Computational Science I / II and Linear Algebra I / II in your first year. It is unlikely that
you are already familiar with the material from General Computer Science and you
should talk to the instructor if you think this course is not challenging enough and you
want to take another class (i.e. at second year level) instead.
Please note that it is recommended that you consult with CPS faculty for advice and
details, especially if you intend to follow intermediate/non-standard variants of courses in
your first year. The main challenge, being presented with the two variants above and all
possible intermediate combinations, is to find the combination which suits you best.
2.a) Choice between Regular, Advanced and Intermediate Variants
The main difference of the regular and the advanced version of CPS in the first year is the
level of “mathematical sophistication” you bring to Jacobs from high school or
elsewhere. If one or more of the following applies to you, you are likely ready for one of
the advanced versions of the curriculum.
1) Have you taken special/advanced mathematics courses at high school level (e.g. for
the German Abitur this would be “Leistungskurs Mathematik”)?
2) Have you participated in mathematics competitions for high school students or have
you had special training classes for these competitions?
3) Have you attended a high school specialized in mathematics or the natural sciences?
4) Go to the Advanced Placement (AP) Exam (this is an exam offered at the beginning of
the semester in Fall) for 'Engineering and Science Mathematics I' and see how you do
and if you can pass it.
If none of the above applies, you should consider the 'regular' track. If you are unsure,
keep in mind that it is usually easier to switch from a course like 'Analysis' to 'General
Mathematics and Computational Science' than the other way around if the level of
difficulty does not suit you – the classes you are taking should be difficult and
challenging, but you must be able to cope with the weekly workload and be able to
understand the new concepts, which are introduced. You should use the first weeks
before the drop/add deadline wisely to find out what is suitable for you; if in doubt, talk
to the respective instructors and to your academic advisor.
2.b) Calculus
If you are taking Engineering and Science Mathematics, two classes are offered in the
first semester:
120101 ESM 1A – Single Variable Calculus
120111 ESM 1B – Multivariable Calculus and ODEs
Very roughly speaking, ESM 1A covers similar topics as Analysis I, and ESM 1B similar
topics as Analysis II. However, the point of view, the style of presentation, and the
learning goals are completely different. Engineering and Science Mathematics will
provide you with methods for solving problems, points out certain application domains
and provides training to improve your speed and reliability in performing certain
calculations. Analysis, on the other hand, builds the theory behind these methods, and
provides training in formal and rigorous thinking.
Both kind of skills are important. Experience has shown that people can learn the more
technical aspects “on the job” provided their understanding of the fundamental principles
is strong. Thus, it is safe to go soft on Engineering and Science Mathematics provided
you treat the more advanced courses seriously and you are not afraid of filling in missing
bits and pieces on your own. Nevertheless, as a CPS major you are likely to need many
computational tools and methods from both courses quite soon. If you intend to take
physics courses, Multivariable Calculus and Ordinary Differential Equations (ODE) will
occur definitely already in first-year physics.
The Advanced Placement (AP) exam for ESM 1A gives a good indication, about your
“calculation/calculus skills”. If you pass AP easily and are very (!) confident to be able
acquire “calculus skills”, while taking Analysis I/II, then you could think about skipping
ESM 1B, otherwise you should also take ESM 1B. If you fail the AP, it is recommended
that you take both: ESM 1A and ESM 1B.
Although ESM 1A and ESM 1B can be simultaneously taken for credit, the second
semester ESM courses come in two flavors that differ only in a small number of topics;
only one of the two can be taken for credit.
120102 ESM 2A – Linear Algebra, Probability, Statistics
120112 ESM 2B – Linear Algebra, Fourier, Probability
For CPS majors ESM 2B is the option to choose. Some statistics knowledge might be
necessary for some life science courses and also can be acquired “on-the-fly” if you
really come across some material in other courses, so don't be afraid of missing
something.
2.c) Laboratory Courses
As mentioned above, in addition to taking the two CPS Lab Units (Numerical Software
and Symbolic Software), which are core components of your major, you should take the
Computer Science Lab Units, which are introductions to programming in C and C++,
respectively. If your are already familiar with C and/or C++, then the Computer Science
Group usually offers AP examinations for these courses, but even if you might be able to
barely pass such an AP, it is a good idea anyway to get some more programming practice
during the first year as during the later years other courses require that you are able to
implement algorithms without teaching you the mechanical aspect of programming.
Usually you can only gain this expertise by practicing.
2.d) Engineering and Science Elective
In addition to taking courses in Mathematics and Computer Science, it is recommended
that you take another first-year level class in the School of Engineering and Science
(SES) together with the associated lab courses. Exceptions from this rule are very rare
and only if you are in the advanced track of the curriculum taking Analysis and/or Linear
Algebra you might want to modify this recommendation. In this case you MUST consult
with the CPS faculty well in advance before making this decision.
The main goal of taking an elective together with its labs such as General Physics I/II,
General Electrical Engineering I/II or some other SES first-year course, is to familiarize
you with one area of application, which is one of the three central pillars of the
curriculum as you might remember from the beginning of this document. Usually it is
intended that you consistently take courses in this area during your three years, but it is
no disaster if you realize after the first year that, e.g., Electrical Engineering is not your
favorite area of application. You can always change focus later, but it pays to think
ahead when choosing courses in the first year.
3. Curriculum Requirements
Beyond the initial core of the curriculum you also have to think about the requirements
for the Bachelor of Science in CPS. Each course you take carries a certain number of
credits, which are accessible with the course catalog / course description. In general these
include as minimum requirements:
–
–
–
180 credits overall
144 credits in the School of Engineering and Science (SES)
36 credits from transdisciplinary courses including
* 3-5 University Study Courses

3-5 courses in the School of Humanities and Social Sciences (SHSS)
The 144 credits from the SES must include at least
–
–
–
–
–
22.5 credits in CPS courses at first-year level or above
27 credits in CPS courses at second-year level CPS or above
36 credits in CPS courses at third-year level CPS or above
13.5 credits in Computer Science at any level
The second and third-year level CPS courses musts contain the equivalent of at least
one course per semester of Rigorous Mathematics courses, Computational Methods
courses, and Modeling courses
The first four requirement are clear and require no further explanation, whereas he fifth
requirement of the list above is treated in detail below,
Note that higher-level (or graduate-level) classes may be used to satisfy lower level credit
requirements. The level of the courses is currently indicated also in the course number
which has 6 digits, The first three for mathematics, mathematics service or computational
science classes are 100, 110 or 120. The fourth (!) digit carries the information on the
level:
–
–
–
–
xyz1.. = first year level
xyz2.. = second year level
xyz3.. = third year level
xyz4.. = graduate level course.
3.a) Rigorous Mathematics
As mathematics courses at the second year level or above with a certain number of topic
codes count as Rigorous Mathematics course. In particular the topic code is the second to
last number 100.x. of the course number. The following topic codes are allowed:
1 (Analysis), 5 (Geometry), 6 (Dynamical Systems), 7 (Discrete Mathematics)
In addition, Linear Algebra I and II and CPS courses 110.x. with topic code 3 (Applied
Analysis) qualify as Rigorous Mathematics courses. The minimum requirement in this
section is taking one class per semester starting from your third semester giving a
minimum of four classes in total. You are encouraged to take more than those 4 classes.
Especially the following courses might be interesting:
100211 Analysis I // 100212 Analysis II
100221 Linear Algebra I // 100222 Linear Algebra II
100361 ODE / Dynamical Systems // 100362 Partial Differential Equations (PDE)
110331 Asymptotic Analysis
100311 Integration and Manifolds // 100312 Introductory Complex Analysis
Often there is more than one way to acquire the necessary basic skills. Two examples:
Suppose you take ESM 3B, which provides computational methods and results for PDEs
and Complex Analysis. In this case the mathematics PDE (100362) and the Introductory
Complex Analysis (100312) courses become a little less important due to overlaps. Note
that nevertheless if your are e.g. interested in PDE, there is no way around taking the
mathematics PDE class as it provides you with the necessary theory, which is essential
for research or project work.
The second example is that if you do not take Linear Algebra in your first year, but
instead ESM 2 (e.g. 120102) and afterwards the Numerical Methods class described
below, these courses already provide a lot of Linear Algebra, so that other courses might
have higher priority for you, e.g. Analysis I should then be preferred against Linear
Algebra I.
Also you should note that sometimes it makes sense to take a Rigorous Mathematics
course to acquire additional background for a Computational Methods course or an area
of application. You can find out easily by looking into some books in the library if a
certain math class might be helpful if it is not immediately obvious, e.g. it is clear that it
is helpful (although not necessary) to take PDE before taking Computational PDE, but it
might not be so clear that Manifolds and Integration provides you with the knowledge
about differential forms for studying Electrodynamics and some other areas of Physics.
As a last general note: It is advisable to talk to the instructor of record for a Rigorous
Mathematics course if you are not sure whether you have all the necessary prerequisites
for a course before (!) the drop/add deadline.
3.b) Computational Methods
The main important and mandatory (!) courses you have to take in this category are the
Numerical Methods courses during your second year:
110211 Numerical Methods I
110212 Numerical Methods II
Since again you have to take at least four courses in this area, there is a life beyond
Numerical Methods, namely the following topic codes for CPS courses 110.x. qualify as
Computational Methods course:
1 (Numerical Analysis)
2 (Numerical Linear Algebra)
4 (Discrete Algorithms)
5 (Optimization)
7 (Architecture)
In addition, some courses from other fields within the School of Engineering and Science
that can be taken:
200372 Computational Fluid Dynamics
200331 Computational Physics
400321 Computational Chemistry and Biochemistry
3.c) Modeling Courses
Again you have to watch out for the topic code; CPS courses 110.x. with topic codes 6
(Modeling) and 8 (Visualization) count as Modeling courses. Furthermore a large number
of other classes offered by the SES might qualify as well. The standard/recommended
choice for Modeling Courses in the second year is:
120211 ESM 3B – Complex Variables and PDE
110262 Introduction to Mathematical Modeling
Note that you should look into the CPS Handbook, which is available online for your
enrollment year, which other courses qualify for Modeling. It is recommended that
whenever you are not sure about a choice in this section that you contact CPS faculty on
this issue.
3.d) Overview
Now you know what belongs where, but you have been promised the two main strategies
you might want to follow during your study of CPS. One option is to gain a broader view
on different topics especially with respect to the areas of application and computational
methods aspects. This means you would only carry your main application area by one
course each year, just as an example suppose you are interested in physics with emphasis
on fluid dynamics, one of the historically first areas of CPS. Then you might think about
including the following courses:
120211 ESM 3B – Complex Variables and PDE
110262 Introduction to Mathematical Modeling
200371 Fundamentals of Hydrodynamics
200372 Computational Fluid Dynamics
This is a small version and gives you a very good foundation for studying this area of
application in graduate school or elsewhere. In addition you could take other courses to
satisfy the graduation requirements, but of course you could also want to study this area
even more, which will result in a specialized expertise, but a little less general knowledge
of CPS in the end, namely you could choose the following courses:
110262 Introduction to Mathematical Modeling
200371 Fundamentals of Hydrodynamics
200372 Computational Fluid Dynamics
210331 Plasma Kinetic Theory and Fluid Description
200331 Computational Physics
110331 Computational PDE
100211 Analysis I
100212 Analysis II
100362 Partial Differential Equations
100312 Introductory Complex Analysis
Although the second selection might be a bit exaggerated in terms of depth for an
undergraduate course in certain areas (e.g. the computational treatment of PDEs) it shows
you an option, how to strongly focus an area. Note that this is just an example. I am going
to give you a few examples of areas, which you might want to focus on together with a
small description, which type of courses might be useful for this area. Since the course
numbers and course titles above might be outdated at some point of time or not every
course is offered each year, the following will be just an overview and you should try to
read the course catalog carefully, attend the first few lectures of a course, talk to the
instructor and/or to CPS faculty if the course fits into your curriculum structure.
Areas, which might be pursued at Jacobs University, together with the elements they
could contain are:
(Theoretical) Computer Science: Advanced and Fundamental CS (i.e. algorithms, tools of
theoretical CS, networks, operating systems), parallel computing, architectures,
visualization, computer graphics, machine learning, discrete mathematics, logic,
architectures, programming, optimization, high performance computing
Fluid Dynamics: solid knowledge of analysis including possibly complex analysis, PDEs,
hydrodynamics, computational PDEs, physics - related areas (e.g. mechanics, statistical
physics, thermodynamics, etc.), asymptotic analysis, visualization
Computational Biology: bioinformatics courses, visualization, basic biology courses,
algorithms - Fundamental CS I, statistics, probability, genetics, computational
neuroscience, (mathematical networks, graph theory, mathematical biology etc...),
machine learning, high performance computing, visualization, probability.
Communication Engineering: physics – related areas (e.g. electrodynamics), electrical
engineering courses (General, Fundamental, Advanced, etc.), numerical linear algebra,
stochastic processes, signal processing courses / information theory, solid knowledge of
mathematical analysis (very advanced = take Real and Functional Analysis), asymptotic
analysis
Mathematical Finance: economics (as SHSS electives), probability, stochastic processes,
(ask also for specific Guided Research projects [see below]), game theory, large scale
computation, optimization, probability, high performance computing, visualization
Physics/Dynamics: very good knowledge of mathematical analysis (e.g. Manifolds,
Differential Forms, Integration, Multivariable Calculus,...), physics – related areas, ODE,
dynamical systems, computational methods for differential equations, asymptotic
analysis, optimization
Certainly these are not all possibilities to base your choice on, but trying to gather courses
from a certain area has the advantage that you can link topics and methods, whereas
independent courses provide you with a little more breadth and options. This should give
you already an indication, how you could approach the choice of courses.
Moreover here are some key skills, which you might be expected to be capable of, when
you go somewhere with a CPS degree; they should not dictate your course choice too
much, but if you are just looking for that “one-last-course”, which you have to choose
from a choice of four or five options, you might want to cover one of the aspects, where
you feel you have the most problems:
–
–
–
–
–
–
–
–
–
–
–
–
–
solid understanding of mathematical analysis
knowledge of “standard” linear algebra
basic knowledge of probability/statistics/stochastics
ability to transfer real-world problems into computation
basic knowledge of computer science
programming skills (at least two main languages)
ability to use the computer as a computation/simulation tool
elementary knowledge of physics
sound understanding of numerical analysis / algorithms
basic knowledge about (discrete and continuous) modeling techniques
problem solving skills (theoretical setup -> modeling -> simulation -> analysis)
ability to begin independent research work [see Guided Research below]
theoretical analysis of methods and modeling techniques
4. Computer Science
The curriculum requirements state that you have to take at least 13.5 credits in the area of
Computer Science. The most standard choice is the sequence of
320101 & 320102 General Computer Science I / II
320111 & 320112 Computer Science Labs
which gives you already 13.5 credits, but it might be advisable to look at least into one of
the second year computer science courses in your third semester. Usually there will be
one course on algorithms (currently Fundamental CS I) and one course on more
theoretical aspects of computation (currently Advanced CS I). In this case the
recommendation is that you might at least want to attend the first few lectures and see if
one of the courses is interesting for you or might be helpful for your preferred area of
application or relate to some computational methods course, you think about taking.
You could also think about taking the second year CS lab courses if you need or want to
get more programming experience. Note that some more advanced third year CS courses
require second year courses as prerequisites.
5. Guided Research
During the last year of undergraduate studies students usually take two semesters of
Guided Research. This project oriented work will ultimately lead to their Bachelor's
thesis. The Guided Research courses count as usual third-year CPS classes towards your
degree. The course is structured in such a way that you have a faculty adviser for the
topic you are interested in and who plans with you all the details.
110391 Guided Research Computational Science I
110392 Guided Research Computational Science II
Note that you are should take advantage of the fact that Jacobs University’s
CPS/Mathematics faculty although not excessively large covers a very large number of
research areas and you should simply talk to a faculty member if you are interested. Also,
the choice of Guided Research adviser is not limited to CPS/Mathematics faculty only,
but some associated Jacobs faculty e.g. from Physics, Computer Science, Electrical
Engineering, etc. might supervise your Guided Research.
In any case you MUST talk to the instructor of record of Guided Research for the choice
of topics and/or advisers.
6. A Note on Transdisciplinary Courses
You are strongly encouraged to broaden you horizon and simply take those University
Study Courses and electives from the SHSS that you find interesting. Since you might not
directly be able to judge from the course title or a topic list which transdisciplinary course
might be suitable, it is advisable to attend the first lectures of several courses to decide on
a course and drop the others before the Drop/Add deadline
Although not many courses offered in the SHSS have relations to your major field of
study, some should be mentioned as they might turn out to be useful. First, it is selfevident that if you are interested in mathematical finance then you should consider taking
some of the economics courses offered by the SHSS. If you are interested in the
application of mathematics in social sciences, the most prominent classes to attend would
be Statistics I and Statistics II.
Download