Are computer science courses worth taking for physics?

Click For Summary
SUMMARY

The discussion centers on the value of taking computer science courses, specifically "Algorithms and Data Structures I" and "Introduction to Computer Architecture," for students in experimental physics. Participants emphasize that these courses provide essential skills in algorithm design, data structures, and computer architecture, which are directly applicable to computational physics. The consensus is that while self-teaching is beneficial, formal education in these areas can significantly enhance problem-solving capabilities and understanding of computational methods in physics.

PREREQUISITES
  • Fundamentals of Programming I and II
  • Basic understanding of algorithm design and analysis
  • Familiarity with computer architecture concepts
  • Knowledge of data structures such as B-trees and heaps
NEXT STEPS
  • Explore advanced topics in "Algorithms and Data Structures" for practical applications in physics
  • Research "Computer Architecture" to understand performance optimization techniques
  • Investigate "Computational Physics" courses offered by physics departments
  • Learn about assembly language programming and its integration with C
USEFUL FOR

Students in experimental physics, computer science enthusiasts, and anyone interested in enhancing their computational skills for scientific research.

ecneicS
Messages
64
Reaction score
0
I have the option to take these two computer science courses. Would these courses be useful in my experimental-physics studies? My worry is that they would be too far theorized and that I wouldn't take anything out of the class that I could actually USE to do experimental-physics.

If someone who has experience in this area could give me their opinion on whether I should take these courses, it would be greatly appreciated.

Algorithms and Data Structures I:
-An introduction to algorithm design and analysis. Random access machine model. Time and space complexity, average and worst case analysis, upper and lower bounds. Application of correctness proof techniques. Algorithms: internal searching, merging, sorting, selection, hashing; graphs: traversals, topological sort, transitive closure, strongly connected components, shortest path, minimum spanning tree. The existence of intractable problems, heuristics. Data structures: B-trees, heaps and graphs.

Introduction to Computer Architecture
-The architecture of computer systems including concepts such as CPU, memory, buses, I/O, cache, instruction sets, interrupt processing, pipelining, performance. Families of processors, CISC, RISC. Memory organization and management (including virtual memory, protection, segmentation and paging). Computer arithmetic. The use of assemblers, linkers and loaders. Assembly language programming and its interface with a high-level language (C).

Both require Fundamentals of Programming I and II. (I and II are each term-long courses.)
 
Physics news on Phys.org
Does your physics department offer a course in computational physics? Maybe an introduction to computer science for science and engineering majors if one is not available. Other than that, I found it far more helpful to teach myself what I need.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 13 ·
Replies
13
Views
5K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 21 ·
Replies
21
Views
4K
  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 8 ·
Replies
8
Views
4K
  • · Replies 1 ·
Replies
1
Views
1K