Courses Which courses should I take? (comp. science)

  • Thread starter Thread starter cscott
  • Start date Start date
  • Tags Tags
    Courses Science
AI Thread Summary
The discussion centers on selecting the best courses for a student pursuing computational science within a limited elective framework in an honors physics program. The student has identified two core physics courses, PHYS 239 and PHYS 339, focused on scientific computation, and is considering additional electives from computer science and applied mathematics. Recommendations include CS 341 for algorithm design, CS 371 for computational mathematics, and several AMATH courses that align with computational techniques in physics. There is also a query about the value of a double degree in computer science and physics, particularly regarding its applicability in industry and research, especially in quantum information theory. Overall, the conversation emphasizes the importance of foundational courses that integrate computational methods with physics applications.
cscott
Messages
778
Reaction score
1
Hi,

I'm trying to figure out which courses I should be taking if I want to do work in computational science. I'm in honours physics so my elective space is pretty limited (maybe two electives per year until year 4). I've gone through the math/computer science/physics sections of our undergraduate calendar and picked out courses on anything to do with computational work. There's no way I can take even half of them and some are perhaps geared towards one area of interest or are too "pure" in one area, but I want to know which ones would be the best "core" courses.

Any help would be appreciated.

The first two are offered by the physics department and are exactly what I'm looking for so I'm pretty much certain I'm taking these two:

PHYS 239 LEC 0.50 Course ID: 007408
Scientific Computation 1
Numerical analysis in electrostatics, mechanics and quantum mechanics with emphasis on finite difference and finite element solution methods.

PHYS 339 LEC 0.50 Course ID: 007435
Scientific Computation 2
Application of numerical computation to basic topics in chemical physics, statistical mechanics and biophysics. Solution methods will include topics such as Monte Carlo and molecular dynamics methods and numerical optimization techniques. Now for the rest:

CS 341 LAB,LEC 0.50 Course ID: 004392
Algorithms
The study of efficient algorithms and effective algorithm design techniques. Program design with emphasis on pragmatic and mathematical aspects of program efficiency. Topics include divide and conquer algorithms, recurrences, greedy algorithms, dynamic programming, graph search and backtrack, problems without algorithms, NP-completeness and its implications.

CS 343 LAB,LEC 0.50 Course ID: 011417
Concurrent and Parallel Programming
An introduction to concurrent and parallel programming, with an emphasis on language constructs. Major topics include: exceptions, coroutines, atomic operations, critical sections, mutual exclusion, semaphores, high-level concurrency, deadlock, interprocess communication, process structuring, shared memory and distributed architectures. Students will learn how to structure, implement and debug concurrent programs.

CS 372 LAB,LEC 0.50 Course ID: 011444
Computational Linear Algebra
Basic error analysis and estimation of errors in solving linear equations. Special methods for solving systems having special features. Computing and using orthogonal factorizations of matrices. The QR algorithms for solving the algebraic eigenvalue problem. Computation and uses of the singular value decomposition (SVD).

CS 466 LEC 0.50 Course ID: 004426
Algorithm Design and Analysis
Algorithmic approaches and methods of assessment that reflect a broad spectrum of criteria, including randomized algorithms, amortized analysis, lower bounds, approximation algorithms, and on-line algorithms. Particular examples will be chosen from different areas of active research and application.

CS 472 LAB,LEC 0.50 Course ID: 004428
Numerical Solution of Large Sparse Systems of Equations
Introduction, example applications from finite element analysis, optimization. Data structures, basic graph theory. Direct methods: symmetric, non-symmetric structures, ordering methods: RCM, minimum degree, nested dissection. Iterative methods: steepest descent, conjugate gradient, GMRES, CGSTAB. Preconditioning methods: level of fill, drop tolerance. Methods for high performance architectures.

CS 371 LAB,LEC 0.50 Course ID: 011363
Introduction to Computational Mathematics
A rigorous introduction to the field of computational mathematics. The focus is on the interplay between continuous models and their solution via discrete processes. Topics include: pitfalls in computation, solution of linear systems, interpolation, discrete Fourier transforms and numerical integration. Applications are used as motivation.

CS 437 LAB,LEC 0.50 Course ID: 004408
Computer Simulation of Complex Systems
Building and validation of stochastic simulation models useful in computing, operations research, engineering and science. Related design and estimation problems. Variance reduction. The implementation and analysis of simulation results. [Offered: W,S]

CS 466 LEC 0.50 Course ID: 004426
Algorithm Design and Analysis
Algorithmic approaches and methods of assessment that reflect a broad spectrum of criteria, including randomized algorithms, amortized analysis, lower bounds, approximation algorithms, and on-line algorithms. Particular examples will be chosen from different areas of active research and application. [Offered: F,S]

CS 472 LAB,LEC 0.50 Course ID: 004428
Numerical Solution of Large Sparse Systems of Equations
Introduction, example applications from finite element analysis, optimization. Data structures, basic graph theory. Direct methods: symmetric, non-symmetric structures, ordering methods: RCM, minimum degree, nested dissection. Iterative methods: steepest descent, conjugate gradient, GMRES, CGSTAB. Preconditioning methods: level of fill, drop tolerance. Methods for high performance architectures.

CS 467 LEC 0.50 Course ID: 011497
Introduction to Quantum Information Processing
Basics of computational complexity; basics of quantum information; quantum phenomena; quantum circuits and universality; relationship between quantum and classical complexity classes; simple quantum algorithms; quantum Fourier transform; Shor factoring algorithm; Grover search algorithm; physical realization of quantum computation; error-correction and fault-tolerance; quantum key distribution.
CO 352 LAB,LEC 0.50

Course ID: 011440
Computational Optimization
A first course in computational optimization. Linear optimization, the simplex method, implementation issues, duality theory. Introduction to computational discrete and continuous optimization.

CO 367 LAB,LEC 0.50
Course ID: 003898
Nonlinear Optimization
A course on the fundamentals of nonlinear optimization, including both the mathematical and the computational aspects. Necessary and sufficient optimality conditions for unconstrained and constrained problems. Convexity and its applications. Computational techniques and their analysis.

AMATH 342 LAB,LEC 0.50 Course ID: 011451
Computational Methods for Differential Equations
Modelling of systems which lead to differential equations (examples include vibrations, population dynamics, and mixing processes). Scalar first order differential equations, second-order differential equations, systems of differential equations. Stability and qualitative analysis. Implicit and explicit time-stepping. Comparision of different methods. Stiffness. Linearization and the role of the Jacobian. [Offered: F,S]

AMATH 452 LAB,LEC 0.50 Course ID: 011448
Computational Methods for Partial Differential Equations
This course studies basic methods for the numerical solution of partial differential equations. Emphasis is placed on regarding the discretized equations as discrete models of the system being studied. Basic discretization methods on structured and unstructured grids. Boundary conditions. Implicit/explicit timestepping. Stability, consistency and convergence. Non-conservative versus conservative systems. Nonlinearities. [Offered: F]

AMATH 454 LAB,LEC 0.50 Course ID: 011443
Applications of Computational Differential Equations
This course will present two major applications of differential equations based modeling, and focus on the specific problems encountered in each application area. The areas may vary from year to year. Students will gain some understanding of the steps involved in carrying out a realistic numerical modelling exercise. Possible areas include: Fluid Dynamics, Finance, Control, Acoustics, Fate and Transport of Environmental Contaminants. [Offered: W]
 
Physics news on Phys.org
If you are interested in computational math and physics, I would recommend both physics classes you listed 239 and 339, as well as CS 341 for algorithm design, CS 371, and all three of those AMATH courses. Those all seem to relate well to one another as far as computational math and physics techniques go. The Algorithm design class will help you with any of those classes in my opinion
 
I would choose: 343,437,452 for sure, but that's just me o:)
 
Definitely 452. This will help you a lot in your physics career.
 
I don't think you can call yourself a real true computer scientist unless you know the stuff in CS 341, that's really the fundamentals of theoretical computer science.
 
I'm almost thinking a double-majoring in computer science and physics with an overall emphasis in computational science in physics, but it'd be nice to do some other stuff as well. I just don't think I can take up all the prereqs to take certain CS classes (like the algorithms class) that I want to along with numerical stuff from the science and amath department. Even if they did let me take them I don't know if I'd drown or not (I didn't take algebra like cs/math students do here or two core second year courses). I do have a pretty strong CS background though.

Is a double degree like valuable in the industry? Could I do stuff with the CS background or would it help me at all in science research? What a good route to quantum information theory? I always had an interest in that as well.

Thanks for the recommendations so far.
 
Bit Britain-specific but I was wondering, what's the best path to take for A-Levels out of the following (I know Y10 seems a bit early to be thinking about A-levels, but my choice will impact what I do this year/ in y11) I (almost) definitely want to do physics at University - so keep that in mind... The subjects that I'm almost definitely going to take are Maths, Further Maths and Physics, and I'm taking a fast track programme which means that I'll be taking AS computer science at the end...
After a year of thought, I decided to adjust my ratio for applying the US/EU(+UK) schools. I mostly focused on the US schools before, but things are getting complex and I found out that Europe is also a good place to study. I found some institutes that have professors with similar interests. But gaining the information is much harder than US schools (like you have to contact professors in advance etc). For your information, I have B.S. in engineering (low GPA: 3.2/4.0) in Asia - one SCI...
I graduated with a BSc in Physics in 2020. Since there were limited opportunities in my country (mostly teaching), I decided to improve my programming skills and began working in IT, first as a software engineer and later as a quality assurance engineer, where I’ve now spent about 3 years. While this career path has provided financial stability, I’ve realized that my excitement and passion aren’t really there, unlike what I felt when studying or doing research in physics. Working in IT...

Similar threads

Back
Top