Resources
Here are some resources that you might find useful for various physics courses and software.
If there are any YouTube videos/websites that you've found helpful, send an email to dups@dal.ca with your suggestions!Â
PHYC 1190/1290 Introduction to Physics
These are relatively standard "introduction to university-level physics" courses. Any material geared towards AP/IB/A level physics will be useful.
One series I found particularly useful was "Crash Course Physics", which covers topics from both 1190 and 1290. Khan Academy, Micheal van Bizen, and Professor Dave also have good stuff.
Course syllabus linked HereÂ
Here are also some other videos I've found particularly memorable:
PHYC 2515 Modern Physics
Some of the "Crash Course Physics" videos will still be useful for broad introductions to the topics covered.
The first topic covered in this course is special relativity. Minute Physics has a great series on special relativity. Brian Greene has made an 11-hour-long video on special relativity that covers everything you'll need; watch 30 minutes a day for about a month and you'll be set.
Course syllabus HereÂ
Professor Dave's modern physics series is great for introductory quantum mechanics. He also goes gives succinct introductions to quantum electrodynamics and chromodynamics if you're interested in learning more. For more advanced quantum mechanics, Brant Carlson has an incredible series that will also be useful in PHYC 3640 Quantum Physics I.
PHYC 2060 Oscillations and Waves
Course syllabus HereÂ
PHYC 2150 Physics Tools: Experiment
This is a relatively hands-on class, there are multiple projects involving Arduino Uno and Python. It also gives a good background on statistics.
Syllabus linked HereÂ
Arduino can be tricky to use, especially if this is your first time coding. Below is a useful link for getting started and learning how to make circuits. https://www.makerspaces.com/arduino-uno-tutorial-beginners/Â
PHYC 2050 Computer Simulation in Science
For information about Python, see the links under the Software section.
Course syllabus HereÂ
Here are some videos I've found particularly memorable:
PHYC 2510 Electricity & Magnetism
Do practice questions and you'll be fine. If you get stuck, there are many worked solutions for Griffiths on the internet (including YouTube).
Course syllabus HereÂ
You may find it helpful to revisit some of the resources you used in PHYC 1290 to improve your intuition for what you're doing.
Software
Python
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python's syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C.
Home: https://www.python.org/
Online Reference: https://docs.python.org/3/py-modindex.html
Matplotlib Plotting tool: https://matplotlib.org/
NumPy for handeling arrays and matrices: https://numpy.org/
SciPy for scientific computing: https://www.scipy.org/
SymPy for symbolic math: https://www.sympy.org/en/index.html
Spyder Integrated Development Environment: https://www.spyder-ide.org/
Installation:Â https://www.python.org/getit/
LaTeX
LaTeX is a mark-up language that makes it easy to type math, cite sources, and label figures.
The easiest way to get started is on Overleaf, a web-based editor that stores your notes on the cloud. LaTeX does have a bit of a learning curve, so you should watch the first few videos in this series by Trefor Bazett. One professor from the University of Oxford has uploaded some good notes; I highly recommend that you read through Part 3: Sense and sensibility; it's about the fine details in writing math that are often overlooked.
Once you've got the basics down, Overleaf's guides are a very useful reference.
If you find yourself needing specific functionality that isn't mentioned in the above resources (e.g., bra-ket notation), Google it. You will probably find a link to the TeX Stack Exchange, where people post their questions about LaTeX and the knowledgable samaritans of the internet answer them.
Another useful website is Detexify, which lets you search for symbol names by drawing them. This is helpful if you don't know the symbols name.
Here are some other useful resources:
Online Reference: https://en.wikibooks.org/wiki/LaTeX
Installation on your computer:
MacTeX (Mac OSX): http://tug.org/mactex/
TeXstudio TeX Editor (Cross Platform): http://texstudio.sourceforge.net/
LyX TeX Editor (Cross Platform): https://www.lyx.org/Home
LabVIEW
LabVIEW (short for Laboratory Virtual Instrumentation Engineering Workbench) is a system design platform and development environment for a visual programming language from National Instruments.
Student Training: http://www.ni.com/academic/students/learn/
Training Resources: https://labviewwiki.org/wiki/Home
MATLAB
MATLAB (matrix laboratory) is a commercial numerical computing environment and fourth-generation programming language.
Online Reference: https://www.mathworks.com/help/matlab/
Maple
Maple is a commercial computer algebra system. Users can enter mathematics in traditional mathematical notation. Custom user interfaces can also be created. There is support for numeric computations, to arbitrary precision, as well as symbolic computation and visualization.
Online Reference: https://www.maplesoft.com/documentation_center/
C/C++
C is one of the most widely used programming languages of all time, and there are very few computer architectures for which a C compiler does not exist.
Tutorial (cprogramming): https://www.cprogramming.com/tutorial.html
Tutorial (cplusplus): http://www.cplusplus.com/doc/tutorial/
Online reference: http://cplusplus.com/reference/clibrary/
Code::Blocks IDE (Cross Platform): http://www.codeblocks.org/
Eclipse IDE (Cross Platform): https://www.eclipse.org/ide/
Compilers:
Visual Studios Express (Windows):https://visualstudio.microsoft.com/
GCC Compiler (Windows): http://www.mingw.org/
Xcode Compiler (Mac OSX): https://developer.apple.com/xcode/
GCC Compiler (Mac OSX, using MacPorts): https://www.macports.org/
GCC Compiler (Windows, Mac, Linux): http://gcc.gnu.org/
Java
Java is a general-purpose, concurrent, class-based, object-oriented computer programming language that is specifically designed to have as few implementation dependencies as possible
Tutorials: https://docs.oracle.com/javase/tutorial/
Online Reference: https://docs.oracle.com/javase/7/docs/index.html
Installation: https://www.oracle.com/java/technologies/javase-downloads.html
Eclipse IDE (Cross Platform): https://www.eclipse.org/ide/
NetBeans IDE (Cross Platform): https://netbeans.org/
Gnuplot
Gnuplot is a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other platforms. The source code is copyrighted but freely distributed (i.e., you don't have to pay for it). It was originally created to allow scientists and students to visualize mathematical functions and data interactively, but has grown to support many non-interactive uses such as web scripting.
Home: http://www.gnuplot.info/
Tutorials: http://www.gnuplot.info/help.html
Reference Card: http://www.gnuplot.info/docs_4.0/gpcard.pdf