Sophomore in High School Looking For Advice

  • Context: Schools 
  • Thread starter Thread starter ArtificialMan
  • Start date Start date
  • Tags Tags
    High school School
Click For Summary

Discussion Overview

The discussion centers on advice for a high school sophomore interested in theoretical physics, mathematics, and computer programming. Participants share recommendations for books, courses, and topics to explore further in these fields, addressing both foundational knowledge and advanced concepts.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Debate/contested
  • Homework-related

Main Points Raised

  • One participant emphasizes the importance of understanding algorithms and data structures in computer science, recommending "Introduction to Algorithms" by Cormen et al. for its comprehensive coverage.
  • Another participant suggests that mastering high school math, including geometry and algebra, is crucial for future studies, and recommends classic calculus textbooks like those by Apostol and Spivak.
  • Discussion includes the value of learning mathematical proofs and problem-solving techniques, with specific book recommendations such as "The Art and Craft of Problem Solving" by Paul Zeitz.
  • Feynman's Lectures are mentioned as a beneficial resource for physics understanding.
  • Participants discuss the challenges of learning C++ and suggest exploring object-oriented programming languages like Java and Python for broader programming skills.
  • Concerns are raised about the appropriateness of certain advanced textbooks for high school students, with some participants suggesting that foundational understanding is more critical than the specific materials used.
  • There is a suggestion to consider the balance between extracurricular studies and school responsibilities, highlighting the importance of managing time effectively.

Areas of Agreement / Disagreement

Participants generally agree on the importance of foundational knowledge in mathematics and programming, but there are differing opinions on the appropriateness of specific advanced textbooks for high school students. The discussion remains unresolved regarding the best approach to learning programming languages and the balance of studies.

Contextual Notes

Some participants express uncertainty about the suitability of advanced materials for high school students, indicating a need for careful consideration of individual readiness and learning styles. There are also varying opinions on the necessity of learning multiple programming languages and the impact of extracurricular activities on academic performance.

Who May Find This Useful

This discussion may be useful for high school students interested in pursuing studies in physics, mathematics, or computer science, as well as educators and mentors seeking to guide students in these fields.

ArtificialMan
Messages
1
Reaction score
0
As the title says I'm a sophomore in high school (15 years old) and I absolutely love theoretical physics, math (as a whole) and computer programming. I've begun learning C/C++ by myself and am completely enthralled with it.

I'm currently in a chem I class and an algebra II class, where we're working on functions and such. Next year I plan on taking physical science I, chem II, trig I and special computers II (where I'm teaching myself C currently.) Senior year I would take a physics course at our local community college, college algebra or calculus class, special computers III (where I would be a tech at the elementary school).

What I'm getting at is; what are books, classes and additional things I could read/do to further my knowledge of these subjects...I'm undecided on what I want to do when I "grow up" but I would love to do something involving these things.
 
Last edited:
Physics news on Phys.org
As a computer science student, I can advise you to expand your knowledge about algorithms and data structures. They are really really important in computer science and someone who knows about algorithms, data structures and complexity really is a better programmer than someone who's not. Also they lay the basis for about any other course in computer science.
A book I would recommend to you is "Introduction by Algorithms" by Cormen, Leiserson, Rivest and Stein. It's THE classic book on algorithms and data structures. Some parts are tricky, and meant for graduate students, but you can easily skip them without any consequences for further reading. You can easily identify those chapters as they are marked with a star. There are also exercises at the end of each chapter which makes it adequate for self-study.
What I also like about this book is that the chapters are rather independent. It's not at all that if you haven't read chapter n then you wouldn't understand chapter (n+1), except for the first 5 chapters that are rather introductory and are a mathematical basis for the whole book.
Of course, you must keep in mind that it is written at undergraduate level. The mathematics isn't difficult but do require a certain level of abstraction in order to be fully understood. So if you are really motivated and good at mathematics, reading this would be an enormous enrichment for you.
 
My take on things, which is of course subject to error.

Math

www.artofproblemsolving.com -- the forums can be very fun and informative

Learning elementary high school math and problem-solving is important. Don't poo-poo the geometry and algebra you learn in your classes; if you ever take high school math contests it will come back to haunt you. Also it's good to get ahead and learn precalc+calc rigorously. For Calculus, Apostol and Spivak are classic choices of textbooks.

Some cool eye-openers that don't require a lot of background are cardinal numbers and Dedekind cuts.

Also, I think it would be very beneficial to see and understand and write mathematical proofs.

A really good book for problem-solving as well as proofwriting: The Art and Craft of Problem Solving by Paul Zeitz

There's also the books Art of Problem Solving Volume 1+2 from theartofproblemsolving.com

These three books that I just mentioned would probably be the most beneficial out of all the things I have recommended, along with the website.

Physics

Feynman's Lectures would be a good choice of books.

Programming

It's good that you're learning C++, as it's probably the hardest language to learn, except for maybe assembly. It also gives you a better sense of computer architecture than Java. If C++ is the first girl you've had sex with, then you'll always remember her.

The transition to higher-level OOP languages like Java and C# is also a good idea and it's also important to be able to make this transition. If you decide to learn Java, then Sun's Java forums are very helpful.

Then if you wanted to you can delve into assembly, which you can do inline through C++ or external to it. If you're a Windows guy I'd recommend MASM, otherwise NASM.

Comp Sci

Learn OOP, Data Structures, Algorithms, Big O and Complexity, and maybe Design Patterns (these can be real enlightening though there's a danger of getting too obsessed with them to the point of detriment).

May also want to experiment with Linux.

And of course, be aware of whether your extracurricular studies are interfering with school.
 
Last edited:
Apostol and Spivak may be a little much for a high school student. But then again, what do I know. If you do take calculus in high school, just make sure you understand it as much as you can. Speaking from experience, if you come into college whether it be for physics, math, comp sci or any other science, and you have already taken calc 1 or maybe even calc 2, then you are already ahead. Generally the first math class for science majors is calc 1. You can retake it and breeze through it, while getting better at the in depth parts you may not have covered, like some proofs, or you can skip it and move on to the harder maths. Either way works fine, it depends on your own schedule. Later in math course you may wish you had started over at calc 1, maybe you can't remember the proof for mean value theorem while you are taking real analysis so that class is a tad bit harder, but it shouldn't be a problem.

I would also recommend that you expand beyond the horizon of C and C++, yes they are widely used, you may even find yourself using root at some point for computer simulation in particle physics, but it would be good to work with an OO language like Java for some time. And I know you can do OO with C++ but learning a new language give you a lot of versatility. You could look into python as well, it tend to be snappy for math calculations, but I found it harder to delve into than I did java.
 

Similar threads

  • · Replies 11 ·
Replies
11
Views
4K
Replies
13
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 15 ·
Replies
15
Views
2K
  • · Replies 20 ·
Replies
20
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K