Sophomore in High School Looking For Advice

In summary, as a high school sophomore interested in theoretical physics, math, and computer programming, there are several ways to further your knowledge in these subjects. For computer science, it is important to learn about algorithms and data structures, which can be found in the book "Introduction to Algorithms" by Cormen, Leiserson, Rivest, and Stein. Additionally, practicing problem-solving and writing mathematical proofs can be beneficial, with recommended books including "The Art and Craft of Problem Solving" by Paul Zeitz and "Art of Problem Solving Volume 1+2" from the website artofproblemsolving.com.For physics, "Feynman's Lectures" is a good book choice. It is also recommended to
  • #1
ArtificialMan
1
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
  • #2
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.
 
  • #3
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:
  • #4
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.
 

Related to Sophomore in High School Looking For Advice

What are some tips for a successful sophomore year in high school?

Some tips for a successful sophomore year in high school include staying organized, managing your time effectively, setting goals and priorities, seeking help from teachers or peers when needed, and getting involved in extracurricular activities.

How can I improve my grades as a sophomore in high school?

To improve your grades as a sophomore in high school, make sure to attend class regularly, take good notes, study consistently, and complete all assignments and projects on time. You can also ask your teachers for feedback and clarification on assignments and seek out tutoring or study groups if needed.

What are some important things to consider when choosing classes for my sophomore year?

When choosing classes for your sophomore year, consider your strengths and interests, graduation requirements, and any future college or career plans. It's also important to challenge yourself, but not overload your schedule. Speak with your guidance counselor for guidance and advice.

What extracurricular activities should I participate in as a sophomore?

As a sophomore, you may want to consider joining clubs or organizations related to your interests, volunteering in your community, or participating in sports or other physical activities. It's important to find a balance between extracurricular activities and your academic workload.

How can I manage my time effectively as a sophomore in high school?

To manage your time effectively as a sophomore in high school, make a schedule or to-do list, prioritize tasks, and avoid procrastination. It's also important to take breaks and find a study method that works best for you.

Similar threads

  • STEM Academic Advising
Replies
1
Views
617
  • STEM Academic Advising
Replies
5
Views
1K
  • STEM Academic Advising
Replies
3
Views
1K
  • STEM Academic Advising
Replies
11
Views
1K
  • STEM Academic Advising
Replies
4
Views
2K
  • STEM Academic Advising
Replies
3
Views
1K
  • STEM Academic Advising
Replies
6
Views
792
Replies
9
Views
1K
  • STEM Academic Advising
Replies
8
Views
1K
Back
Top