We may earn an affiliate commission when you visit our partners.
Course image
William Murray

Welcome to the best class you will ever take in your science and engineering career.

Let me ask you this - How much would you pay for...

Read more

Welcome to the best class you will ever take in your science and engineering career.

Let me ask you this - How much would you pay for...

  • ...actually enjoying your Spring Break without worry because you got your homework done and submitted before the break starts?

  • ...going to bed earlier because your bug was an engineering units error that was super easy to find and fix in Python?

  • ...having your professor cite your homework as the solution because its both correct and well presented?

  • ...actually knowing what is going on in class because you know how to let software handle the heavy math so you can interpret the physical results?

I was a teaching assistant for 3rd year Nuclear Engineering students at North Carolina State University, and I helped my students transition from writing on engineering paper with hand calculators to using software for their homework assignments. Common errors - unit conversions, simple algebra mistakes, labeling your final answer for your grader - dropped significantly after they became proficient in using their chosen software tool. With better homework grades they felt they understood the concepts more, relieving them of stress, and making them feel better prepared for their paper exams. An unfortunate reality is that as you advance in your engineering coursework, you will absolutely need some type of software tool.

Whether you are studying Nuclear Engineering specifically, or are a science student choosing among many different Python courses, I want to help you overcome that sense of imposter syndrome and give you confidence in your work. My hope is that this course will make it easier for you to solve challenging homework problems in your engineering coursework, and give you the confidence to solve real-world problems that pop up in your engineering career.

How can learning Python make my life as a college student easier?

You have enough theory in your science and engineering courses. I'm here to teach you how to use Python how to solve problems in a straight-and-to-the-point practical sense.

Here is what I will teach you in this course that will make your student life immensely easier:

  • Make the best-looking homework submissions your graders will ever see with Jupyter Notebooks

  • Learn how to type fancy mathematical equations just like your professors using LaTeX

  • Never be afraid of Linear Algebra again by letting Python's numpy package handle matrix operations

  • Use Python's SymPy package to solve Calculus and Differential Equations problems for you

  • Breeze through analyzing laboratory data using Python's Pandas and Matplotlib packages to do statistical analyses and plotting of data from your lab classes - you will (almost) never need to touch Microsoft Excel again.

  • Say goodbye to unit conversion errors with Python's Pint package that automatically handles units and conversions for you

  • Develop confidence for your future by learning your rights as a worker, how much you can expect to make in your career, and exploring if remote work is right for you (or if you'd rather play with expensive science toys at a national laboratory)

My name is William Roysdon Murray - I've spent too many sleepless nights figuring out how to get my work done as a Nuclear Engineering student. I want to spare you the hassles I went through and return your nights back to you. It will be my pleasure to have you in my course.

Disclaimer: No organizations mentioned in this video series have endorsed the contents of this series, nor does the lecturer claim to speak on official behalf of any organizations mentioned in this series.

Enroll now

What's inside

Learning objectives

  • Install python and jupyter notebooks on their local machine
  • Develop professional looking reports for homework submissions in jupyter notebook with latex
  • Learn python syntax to perform basic math operations
  • Solve problems in calculus, differential equations, linear algebra, and statistics with python
  • Automate handling science and engineering units with python's pint package
  • Tackle problems commonly found in nuclear science and engineering using various python packages
  • Where your skills are needed at us national labs, us government agencies, and private companies
  • How much money you can expect to make working in nuclear science and engineering - with data to back it up!
  • Network with other professionals in nuclear science and engineering to grow your career and share your expertise with peers

Syllabus

You will learn about your course instructor's background, how this course can help you as a student, and how to get Python and Jupyter Notebooks installed on your device.
Read more

Students will learn how to process the videos and provided resources used in this course to enhance their learning experience.

Students will learn how computational science is used across different branches of Nuclear Science and Engineering to solve interesting technical challenges.

Students will learn how to install Python via the Anaconda distribution platform, and then load Jupyter Lab to begin working with Jupyter Notebooks.

Join our community of learners!

This lecture will cover the different types of cells you can use in Jupyter Notebooks.

Students will be able to type equations properly in LaTeX

This video will show you how to export your Jupyter Notebook as a Python script and as a PDF for submission to graders of your assignments.

This quiz will cover the basics of Jupyter Notebooks and LaTeX

Students will learn how to perform basic math operations in Jupyter Notebooks and how to call Python packages with the import command.

Students will learn the basic types of variables used in programming, including integers, floating point numbers, arrays, and boolean values.

Students will learn the basics of performing recursion and conditional statements in Python with loops and logical operators.

Students will learn the basics of making plots with the matplotlib package.

This lesson will cover how to do common Linear Algebra functions in Python using the numpy package.

This video covers performing analytical derivatives and integrals in Python with the sympy package.

Students will solve a harmonic oscillator problem using the SymPy package and plot the results of radioactive decay differential equation over a specified period of time.

Students will be able to plot laboratory data using Pandas dataframes and acquire basic statistics on their dataset, using Electricity Grid Demand information from the Texas ERCOT grid.

Students will learn best practices for manually handling engineering units in Python code, and how to use the Pint package to automatically assign units to your variables.

Students will learn how random number generators operate and how they can be used to model random behavior such as flipping coins and modelling radioactive decay.

Students will learn how to find the intersection of two functions numerically where an analytical solution cannot be found. The Bessel Function will be introduced as an example of a non-linear function where finding intersections requires iterative solutions.

Students will learn how to program their own equation of state by writing a Python function and calling it to find the saturation temperature of steam. The equation used in the lecture is pulled from an academic research paper and compared against values found in a different steam table dataset, SteamTab.

Students will be introduced to a variety of employers hiring nuclear expertise. No specific employer is endorsed by this course, nor sponsors this course, nor does the lecturer speak on behalf of any employer showcased.

Students will learn how to find employment and pay statistics for Nuclear Engineers and other professions using the US Bureau of Labor Statistics' Occupation Outlook Handbook.

Students will learn of their rights to a safe and harassment-free working environment, as well as rights regarding unionizing, striking, and discussing pay guaranteed by the National Labor Relations Act. Additionally, students will learn where to report violations of their rights if infringed at the workplace.

Students will explore a variety of working environments and reflect on which type of environment best suits their current needs.

Students will be introduced to a variety of professional societies for Nuclear Scientists and Engineers and will be encouraged to network through attending conferences and participating in society events. While signing up for membership in any society is encouraged for professional growth, no specific organization is endorsed nor has promoted the creation of this lecture, nor does the lecturer attempt to speak on official behalf of any organization mentioned in this lecture.

My thanks to you, the student, for investing your time into learning both Python and more about the nuclear profession with me. Please say hello if we cross paths in any professional setting :)

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses Python's Pint package, which can automatically handle unit conversions, reducing errors and improving the accuracy of calculations in scientific and engineering contexts
Covers the use of Jupyter Notebooks and LaTeX for creating professional-looking homework submissions, which can improve grades and demonstrate a strong understanding of the material
Explores career opportunities in US National Labs, government agencies, and private companies, providing valuable insights into potential career paths for students in the field
Teaches how to use Python's SymPy package to solve Calculus and Differential Equations problems, which can save time and effort in solving complex mathematical problems
Discusses students' rights as workers, potential earnings, and remote work options, offering practical guidance for navigating the professional landscape after graduation
Requires installing Python via the Anaconda distribution platform, which may require additional storage space and familiarity with package management for some students

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical python for nuclear engineering

According to learners, this course is a highly valuable resource for applying Python to problems in Nuclear Science and Engineering. Many students found the practical approach extremely helpful for tackling homework assignments and real-world scenarios. Key modules praised include using Jupyter Notebooks for professional reports and leveraging libraries like numpy, sympy, and especially Pint for units. The inclusion of career guidance was frequently highlighted as a useful bonus. While providing a solid foundation, some mention it's better suited for beginners to intermediate users or could go deeper into advanced topics.
Excellent starting point, though some wish for more advanced topics.
"This course provides a really solid foundation for using Python in engineering contexts."
"It's a great introduction, but I would have liked to see some more advanced applications or deeper dives into specific libraries."
"Perfect for beginners or those with some basic Python knowledge looking to apply it."
"The course covers a wide range of topics, which is great for breadth, but some sections could benefit from more depth."
Includes helpful insights into the nuclear profession.
"The career module was an unexpected but incredibly valuable addition, providing real data and insights."
"Learning about potential employers and salary expectations in Nuclear Engineering was very motivating."
"I appreciated the discussion on worker rights and networking opportunities within the field."
"This section went above and beyond just teaching coding; it felt like mentorship."
The instructor provides clear explanations and examples.
"William does a great job explaining concepts clearly, making it easy to follow along."
"The instructor's passion for the subject comes through and makes learning enjoyable."
"The explanations are straightforward and to the point, which is perfect for learning practical skills."
"I found the lectures easy to digest, even for someone new to some of the topics."
Covers libraries essential for science and engineering.
"Using Pint for unit conversions is an absolute game changer; it saves so much time and prevents errors."
"Numpy and SymPy sections were great for understanding how to handle complex math problems computationally."
"The segments on Pandas and Matplotlib gave me the tools I needed to analyze and plot lab data efficiently."
"The specific libraries chosen for this course are incredibly relevant to my field."
Learn to apply Python directly to engineering tasks.
"This course helped me significantly with my nuclear engineering homework. Applying Python felt natural after the lessons."
"I finally understand how to use Python to solve the kind of problems I see in my coursework."
"The focus on using Python for practical engineering calculations is spot on and immediately applicable."
"Applying what I learned here to real-world nuclear science problems feels much more approachable now."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Python for Nuclear Science and Engineering with these activities:
Review Linear Algebra
Solidify your understanding of linear algebra concepts, which are essential for using NumPy effectively in this course.
Browse courses on Linear Algebra
Show steps
  • Review matrix operations such as addition, subtraction, and multiplication.
  • Practice solving systems of linear equations.
  • Understand eigenvalues and eigenvectors and their applications.
Brush up on Calculus
Strengthen your calculus foundation to better utilize SymPy for symbolic calculations and problem-solving.
Browse courses on Calculus
Show steps
  • Review differentiation and integration techniques.
  • Practice solving differential equations.
  • Understand the fundamental theorem of calculus.
Practice Jupyter Notebooks and LaTeX
Collaborate with peers to practice formatting reports in Jupyter Notebooks using LaTeX, reinforcing your ability to create professional-looking submissions.
Show steps
  • Pair up with a classmate.
  • Work together on formatting a sample homework problem in Jupyter Notebook using LaTeX.
  • Provide feedback to each other on clarity and presentation.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Solve Practice Problems with NumPy
Reinforce your understanding of NumPy by working through practice problems related to linear algebra and matrix operations.
Show steps
  • Find practice problems online or in textbooks.
  • Solve the problems using NumPy.
  • Compare your solutions with the provided answers.
Create a Pint Unit Conversion Cheat Sheet
Solidify your understanding of the Pint package by creating a cheat sheet of common unit conversions relevant to nuclear science and engineering.
Show steps
  • Identify common units used in nuclear science and engineering.
  • Use Pint to define these units and their conversions.
  • Organize the information into a cheat sheet format.
Simulate Radioactive Decay
Apply your Python skills to simulate radioactive decay, reinforcing your understanding of random number generators and data visualization.
Show steps
  • Research the mathematics of radioactive decay.
  • Write a Python script to simulate the decay process using random number generators.
  • Visualize the results using Matplotlib.
Read "Nuclear Engineering: Theory and Technology of Commercial Nuclear Power"
Expand your knowledge of nuclear engineering principles, providing context for applying Python to solve real-world problems.
Show steps
  • Read the book chapter by chapter.
  • Take notes on key concepts and equations.
  • Relate the concepts to the Python tools learned in the course.
Read "Python for Data Analysis"
Deepen your understanding of Pandas for data analysis, enabling you to tackle more complex datasets in nuclear science and engineering.
Show steps
  • Read the book chapter by chapter.
  • Practice the examples provided in the book.
  • Apply the techniques to nuclear engineering datasets.

Career center

Learners who complete Python for Nuclear Science and Engineering will develop knowledge and skills that may be useful to these careers:
Nuclear Engineer
A Nuclear Engineer researches and develops nuclear equipment, systems, and processes. This course helps current or aspiring nuclear engineers by improving their ability to solve complex problems with Python. Nuclear Engineers apply the principles of nuclear science to create new technologies. The course helps students use Python for various tasks, such as linear algebra, calculus, differential equations, and statistical analysis, making them more efficient problem solvers. Learning how to automate unit conversions with Python's Pint package also helps make homework submissions look professional. This attention to detail is excellent practice for more challenging work. This course may be particularly useful because it allows students to solve challenging homework problems using Python.
Research Scientist
A Research Scientist designs and conducts experiments to investigate scientific phenomena. To that end, this course helps research scientists who want to improve their computational skills. Research scientists analyze data, interpret results, and write reports to share their findings with the scientific community. This course can help scientists by providing them with the tools to automate data analysis, perform complex calculations, and visualize results using Python's libraries. Using Python to model random behavior, for example radioactive decay, is also discussed. Furthermore, the course teaches how to professionally present findings in Jupyter Notebooks, complete with LaTeX equations. This course will likely be very useful to scientists.
Data Scientist
A Data Scientist analyzes large datasets to extract meaningful insights and inform decision-making. For example, this course helps current or aspiring data scientists hone their data analysis skills. Data scientists use statistical techniques, machine learning algorithms, and data visualization tools to identify patterns, trends, and relationships in data. This course helps students become better data scientists by teaching them how to use Python's Pandas and Matplotlib packages for statistical analysis and data visualization. Learning how to handle data in Jupyter Notebooks and how to write professional-looking reports is also beneficial. This is a useful course for anyone interested in data science.
Computational Scientist
A Computational Scientist develops and applies computational methods to solve complex scientific and engineering problems. This course offers many concepts applicable to this role as it provides the training needed to excel in computational science. Computational scientists use programming languages, numerical algorithms, and simulation tools to model physical systems, analyze data, and make predictions. This course helps students become better computational scientists by teaching them how to use Python to solve problems in calculus, differential equations, linear algebra, and statistics. The course may be particularly relevant given its discussion of how computational science is used across different branches of Nuclear Science and Engineering.
Simulation Engineer
A Simulation Engineer develops and uses computer models to simulate the behavior of physical systems. This course helps current or aspiring simulation engineers improve their modeling and simulation skills. Simulation engineers use specialized software to create virtual prototypes, test designs, and optimize performance. This course helps students become better simulation engineers by teaching them how to use Python's numerical methods and simulation libraries to solve complex engineering problems. This includes solving differential equations and modeling random behavior. Overall, this course could be very relevant to simulation engineers.
Nuclear Technician
A Nuclear Technician assists engineers and scientists in the operation and maintenance of nuclear facilities and equipment. This course may be useful for current or aspiring nuclear technicians who want to improve their understanding of nuclear processes and their ability to solve problems using computational tools. Nuclear technicians perform tasks such as monitoring radiation levels, collecting samples, and troubleshooting equipment malfunctions. This course may help nuclear technicians by providing them with the Python skills to analyze data, perform calculations, and create reports.
Engineering Consultant
An Engineering Consultant provides expert advice and guidance to organizations on engineering-related issues. The course may be useful in this situation because it discusses techniques to improve problem solving. Engineering consultants analyze problems, develop solutions, and provide recommendations to improve efficiency, reduce costs, or enhance safety. This course may help engineering consultants by providing them with the Python tools to analyze data, perform calculations, and create professional-looking reports. The course also covers best practices for handling engineering units in Python code, which can be valuable for consultants who work with complex engineering projects.
Software Engineer
A Software Engineer designs, develops, and tests software applications. The course may be useful for software engineers who want to improve their mathematical problem solving skills. Software engineers write code, debug programs, and create user interfaces. This course may help software engineers by teaching them how to use Python to solve problems in calculus, differential equations, linear algebra, and statistics. In particular, knowledge of LaTeX improves the readability of software documents, especially those that require math.
Laboratory Manager
A Laboratory Manager oversees the daily operations of a research or testing laboratory. This is a broad role that requires a general understanding of scientific principles, making this course potentially helpful. Laboratory managers ensure that equipment is maintained, supplies are stocked, and safety protocols are followed. This course may help laboratory managers by providing them with the Python skills to analyze laboratory data, perform statistical analyses, and create reports. The course also teaches best practices for handling engineering units in Python code.
Quality Assurance Engineer
A Quality Assurance Engineer develops and implements procedures to ensure that products or services meet established quality standards. This course may be useful for current or aspiring quality assurance engineers. Quality assurance engineers conduct tests, analyze data, and identify areas for improvement. This course may help quality assurance engineers by providing them with the Python skills to analyze data, perform statistical analyses, and create reports. The course also teaches how to use Python to automate unit conversions, which can be valuable for ensuring accuracy in quality control processes.
Health Physicist
A Health Physicist ensures the safe use of radiation and radioactive materials in various settings. Health Physicists conduct radiation surveys, develop safety protocols, and provide training to personnel. This course may be useful by providing them with the skills in Python to analyze data, simulate radiation behavior, and automate calculations related to radiation safety. The course's coverage of statistical analysis and data visualization can be particularly helpful for interpreting radiation measurements and presenting findings.
Control Systems Engineer
A Control Systems Engineer designs and implements systems to regulate and automate industrial processes. Control Systems Engineers develop algorithms, create control panels, and optimize system performance. This course may be useful, as it provides skills in Python for modeling dynamic systems, implementing control algorithms, and analyzing data from sensors and actuators. The course's coverage of numerical methods and simulation can be invaluable for designing and testing control systems.
Materials Scientist
A Materials Scientist researches and develops new materials with specific properties for various applications. Materials Scientists conduct experiments, analyze data, and characterize material properties. This course may be useful by providing skills in Python for analyzing experimental data, modeling material behavior, and simulating material properties. The course's coverage of statistical analysis and data visualization could be helpful for analyzing material properties.
Science Teacher
A Science Teacher educates students in various scientific disciplines, fostering curiosity and critical thinking. Science Teachers deliver engaging lessons, conduct experiments, and assess student understanding. The course may be useful for teachers by providing a toolkit of Python-based resources to enhance their teaching, such as creating interactive simulations, visualizing data, and presenting complex concepts in a clear and engaging way. This course is particularly relevant as it enables students to solve problems commonly found in Nuclear Science, which is very useful in the classroom.
Technical Writer
A Technical Writer creates clear and concise documentation for technical products and processes. The course will be useful for technical writers by providing the tools to communicate technical information effectively. Technical writers research topics, write manuals, and create online help systems. This course would be very useful because it shows how to create professional-looking reports using Jupyter Notebook and LaTeX. Furthermore, it shows how to solve problems with common math operations and linear algebra, which is helpful to be able to explain to a technical audience.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Python for Nuclear Science and Engineering.
While the course focuses on Python, this book provides essential background knowledge in nuclear engineering. It covers the fundamental principles of nuclear reactor design, operation, and safety. It good reference for students who want to learn more about nuclear engineering. It is more valuable as additional reading than as a current reference. It is particularly useful for students who are new to nuclear engineering.
Comprehensive guide to using Python's Pandas library for data analysis. It provides in-depth coverage of data manipulation, cleaning, and analysis techniques. It is particularly useful for students who want to deepen their understanding of Pandas and apply it to real-world datasets. This book is commonly used by data scientists and analysts.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser