We may earn an affiliate commission when you visit our partners.
Take this course
Brad Richardson

Learn one of the oldest programming languages. Fortran is still in common use for high-performance scientific and engineering applications. If you're new to programming, and especially if you're in a math, science or engineering field, this is a great course to get started with.

We talk about getting your computer initially set up, programming fundamentals, including variables, looping and branching constructs, modules and derived types. We even go into some tips for growing and organizing your programs towards the end of the course.

Enroll now

What's inside

Learning objective

The basics of programming in fortran

Syllabus

Compile and execute a program, and understand any error messages encountered along the way

Who is this course for? What do you need? and What can you expect?

Read more

After this lesson you'll be able to install all the necessary tools and compile and execute your first program on Windows.

After this lesson you'll be able to install all the necessary tools and compile and execute your first program on Mac OSX.

After this lesson you'll be able to install all the necessary tools and compile and execute your first program on Ubuntu.

This lesson will help familiarize you with some of the more common compiler errors.

A basic outline of the sections of a Fortran program.

Variables are the backbone of how programs work.

What is an expression, how are they used, and how are they evaluated.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a strong foundation in programming fundamentals, including variables, looping, branching, modules, and derived types, which are essential for scientific computing
Teaches Fortran, which is still commonly used in high-performance scientific and engineering applications, making it a relevant language for these fields
Includes exercises on compiler errors, which helps learners understand and debug their code, a crucial skill for any programmer
Covers file I/O operations, enabling learners to create programs that can read and write data to files, which is important for data processing and storage
Includes a 'To Do' app project, which allows learners to apply their knowledge and build a practical application, reinforcing their understanding of the concepts
Explores structuring larger programs and style conventions, which are important for writing maintainable and collaborative code, especially in larger projects

Save this course

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

Reviews summary

Fortran fundamentals for stem beginners

According to learners, this course provides a solid foundation in Fortran for beginners, particularly those in science, engineering, and related fields. Students found the explanations of programming fundamentals to be very clear and appreciated the helpful exercises and the hands-on project for reinforcing concepts. While many found the multi-OS setup guides useful, some experienced frustration with environment setup and debugging compiler errors specific to their systems. Overall, the course is seen as highly valuable for its target audience, despite some reviewers noting that aspects of the language or course material can feel a bit dated.
Valuable for science/engineering/research
"Highly recommend for science students."
"As an engineering student, I needed to learn Fortran for some legacy code. This course made it easy to understand the syntax and structure."
"Solid foundation in Fortran. The sections on procedures and file I/O were explained well. The course provides a good starting point, especially if you are in scientific computing."
"Learned a lot about Fortran programming for my physics research. The course covers exactly what a beginner needs..."
Practical tasks solidify learning
"...the exercises helped solidify the concepts."
"The hands-on examples were great."
"The sections on procedures and file I/O were explained well. The course provides a good starting point..."
"The To Do App project was a good way to practice. The lecture quality varied a bit, but overall a valuable course for its target audience."
Provides a solid base in Fortran
"Excellent course for getting started with Fortran. The explanations were very clear, and the exercises helped solidify the concepts."
"Good introduction to Fortran basics. Covered all the fundamental concepts thoroughly."
"Perfect for someone with no prior programming experience looking to learn Fortran. Everything is explained simply and builds upon previous lessons."
Some elements perceived as old
"Some parts felt a bit dated, but the core principles are well explained. The hands-on examples were great."
"Decent course, but could be improved... It covers the stated objectives well, but Fortran feels like a very old language now."
Environment setup challenging for some
"Setting up the environment on my specific Linux distro was a minor hurdle, but the course covered different OSs well."
"Found the setup frustrating. The instructions didn't quite match my system configuration, and debugging compiler errors was difficult without more guidance."
"...debugging compiler errors was difficult without more guidance. The core programming concepts were okay, but the initial barrier was high."

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 Fortran For Beginners with these activities:
Review Basic Programming Concepts
Reinforce fundamental programming concepts like variables, loops, and conditional statements to build a solid foundation before diving into Fortran.
Browse courses on Programming Fundamentals
Show steps
  • Review online tutorials or introductory programming books.
  • Practice writing simple programs in any language.
  • Complete online quizzes to test your understanding.
Practice Array Manipulation
Sharpen your skills in array manipulation, a crucial aspect of Fortran programming for scientific and engineering applications.
Show steps
  • Solve array-based problems on platforms like HackerRank or LeetCode.
  • Implement common array algorithms like sorting and searching.
  • Work through examples of multi-dimensional array operations.
Create a Fortran Cheat Sheet
Solidify your understanding of Fortran syntax and concepts by creating a concise cheat sheet for quick reference.
Show steps
  • Compile a list of essential Fortran keywords and syntax rules.
  • Organize the cheat sheet logically for easy navigation.
  • Include examples of common Fortran code snippets.
  • Share your cheat sheet with other learners for feedback.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Modern Fortran Explained
Expand your knowledge of Fortran with a comprehensive guide to modern features and best practices.
Show steps
  • Read selected chapters focusing on advanced topics.
  • Experiment with the code examples provided in the book.
  • Compare the book's recommendations with the course content.
Simple Scientific Calculator
Apply your Fortran knowledge by building a scientific calculator that performs basic mathematical operations and handles user input.
Show steps
  • Design the calculator's user interface and functionality.
  • Implement mathematical functions using Fortran.
  • Test the calculator thoroughly with various inputs.
  • Add error handling for invalid inputs.
Numerical Recipes in Fortran 90
Explore numerical algorithms and their Fortran implementations to enhance your problem-solving skills.
Show steps
  • Select a numerical method relevant to your interests.
  • Study the Fortran code provided in the book.
  • Adapt the code to solve your own problems.
Contribute to a Fortran Library
Gain practical experience and contribute to the Fortran community by participating in an open-source project.
Show steps
  • Find a Fortran library on platforms like GitHub.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.
  • Respond to feedback from the project maintainers.

Career center

Learners who complete Fortran For Beginners will develop knowledge and skills that may be useful to these careers:
Simulation Engineer
Simulation engineers create and run computer simulations to model real-world systems, often using specialized programming languages like Fortran. This course may be useful for aspiring simulation engineers by introducing them to Fortran. The course's coverage of programming fundamentals, arrays, and modules prepares learners to build simulation models. The course's introduction to the compilation process can be helpful for optimizing simulation performance. By helping beginners who are new to programming learn the fundamentals, this course provides a starting point to design simulations.
Numerical Analyst
Numerical analysts develop and implement numerical methods to solve mathematical problems in science and engineering. This course may be useful for aspiring numerical analysts by introducing them to Fortran, a language commonly used in scientific computing. The course's coverage of programming fundamentals, arrays, and modules is essential for implementing numerical algorithms. The course's introduction to user input, file I/O, and compiler options can also assist in building practical numerical tools. Numerical analysts can build upon this course's content to develop and test their numerical methods.
Research Scientist
Research scientists conduct experiments and analyze data to advance knowledge in their respective fields, which often involves programming for data analysis or simulations. This course helps research scientists who are new to programming get started with Fortran, a language still used in some scientific disciplines. The course's coverage of variables, looping, conditional statements, arrays, and modules will enable them to write basic programs for data manipulation and analysis. The ability to read and write files, as covered in the course, is invaluable for processing experimental data. By teaching beginners to program, this course can help research scientists automate tasks.
Computational Scientist
A computational scientist leverages programming to solve complex scientific problems through simulation and modeling. This course may be helpful for aspiring computational scientists by introducing them to Fortran, a language still prevalent in scientific computing. The course's focus on programming fundamentals, including variables, looping, arrays, and modules, builds a foundation for developing scientific applications. The lessons on program structure and compiler options are particularly relevant to writing efficient scientific code. Furthermore, learning to read and write files can be valuable for handling large datasets common in scientific research. The course exposes beginners to the fundamentals of programming, and specifically introduces them to a tool used by computational scientists.
Scientific Programmer
Scientific programmers write code to support scientific research and development, often needing to implement numerical methods and simulations. If you want to become a Scientific Programmer, this course may be useful by providing an introduction to Fortran. The course's coverage of programming fundamentals, such as variables, expressions, conditional constructs, and looping, helps build a foundation for scientific programming. In particular, the discussion of arrays, user input, file writing, and modules introduces learners to techniques relevant to developing scientific applications. Importantly, the course touches on structuring larger programs, a crucial skill for managing complex scientific projects. By teaching the foundations of programming, this course helps beginners take the first step toward a career in scientific programming.
Algorithm Developer
Algorithm developers create and implement algorithms for various applications, including optimization, machine learning, and data processing. This course may be useful as it provides an introduction to programming fundamentals and Fortran, which can be applied to algorithm development. The course's coverage of variables, expressions, conditional constructs, and looping helps build a foundation for implementing algorithms. The lessons that cover arrays and derived types introduce learners to data structures that are useful in algorithm design. The course's focus on modules and structuring larger programs helps address the complexity of algorithm development.
Software Engineer
Software engineers are involved in the design, development, testing, and maintenance of software systems. While Fortran is not as widely used as some other languages in general software engineering, understanding its principles can be valuable. This course may be useful for aspiring software engineers by introducing them to programming fundamentals. The course's coverage of variables, looping, branching, and modules helps build a foundation for software development. The sections on writing to and reading from files, as well as structuring larger programs, address practical aspects of software engineering. The course provides a starting point for those new to programming to explore the field of software engineering.
Data Scientist
Data scientists analyze large datasets to extract insights and build predictive models. While not always the primary language, Fortran can be useful in data science for optimizing computationally intensive tasks. This course may be useful for aspiring data scientists by providing a foundation in programming fundamentals. The course's discussion of variables, looping, and conditional statements helps build a base for understanding programming logic. Furthermore, the lessons on user input and file operations introduces handling data, which is crucial in data science. The course's focus on modules also introduces learners to organizing code for larger projects. Data scientists can use the skills learned in the course to optimize data processing and modeling tasks.
Engineering Consultant
Engineering consultants provide expert advice and solutions to engineering problems, often involving simulations or data analysis that leverage programming skills. This course may be useful for aspiring engineering consultants by introducing them to Fortran, a language still used in certain engineering applications. The course's coverage of variables, looping, and conditional statements helps build a programming foundation. The ability to read and write data files, as covered in the course, is particularly valuable for consultants who analyze data. By teaching a new language and building a foundation in computer programming, this course can help consultants provide programming solutions to engineering problems.
Aerospace Engineer
Aerospace engineers design, develop, and test aircraft and spacecraft, often using simulations that rely on programming. This course may be useful for aspiring aerospace engineers by introducing them to Fortran, a language sometimes used in aerospace simulations. The course's coverage of variables, looping, conditional statements, and arrays helps build a foundation for programming simulations. The ability to read and write data files, as covered in the course, is essential for working with simulation output and experimental data. The course can act as a launching point into the world of computational aerospace engineering.
Civil Engineer
Civil engineers design, construct, and maintain infrastructure projects, sometimes requiring simulations or data analysis that utilize programming. For civil engineers, this course may be useful by introducing them to Fortran, a language used in some structural analysis and simulation software. The course's coverage of variables, looping, arrays, and modules helps build a foundation for writing programs for civil engineering applications. The course's introduction to file input and output can also be helpful for processing data from simulations or field measurements. The course provides students an opportunity to learn and practice the tools civil engineers need.
Mechanical Engineer
Mechanical engineers design, develop, and manufacture mechanical and thermal devices, often using simulations that rely on programming. This course may be useful for aspiring mechanical engineers by introducing them to Fortran, a language used in some finite element analysis software. The course's coverage of variables, looping, arrays, and derived types helps build a foundation for programming simulations. The introduction to file input and output is valuable for processing data from experiments. By offering a foundational skillset, this course helps mechanical engineers begin to program.
Statistician
Statisticians collect, analyze, and interpret data to draw conclusions and make informed decisions, sometimes involving programming for data analysis and modeling. This course may be useful for aspiring statisticians by providing a foundation in programming fundamentals. The course's coverage of variables, looping, and conditional statements is essential for programming statistical algorithms. The course's lessons on reading and writing files, as well as user input, helps statisticians interact with data. By teaching beginners to program, this course helps statisticians automate tasks.
Financial Modeler
Financial modelers create and use quantitative models to analyze financial markets, assess risk, and make investment decisions, often involving programming to implement complex models. This course may be useful for aspiring financial modelers by introducing them to programming fundamentals and Fortran. The course's coverage of variables, looping, and conditional statements helps build a foundation for programming financial models. The ability to read and write data files, as covered in the course, is crucial in finance. Financial modelers can use the skills learned in the course to build and test quantitative models.
Physics Teacher
Physics teachers educate students on the principles of physics, sometimes incorporating computational techniques and simulations into their lessons. This course may be useful for physics teachers by providing them with programming skills. The course's coverage of variables, loops, and conditional statements helps build a foundation for creating simulations. The course can help physics teachers create interactive demonstrations. By teaching beginners to program, this course helps physics instructors develop interactive lessons.

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 Fortran For Beginners.
Provides a comprehensive guide to modern Fortran standards, covering advanced features and best practices. It is particularly useful for understanding the evolution of Fortran and leveraging its capabilities for high-performance computing. This book valuable reference for those looking to deepen their understanding of Fortran beyond the basics. It is commonly used by professionals and academics alike.
Classic resource for numerical algorithms implemented in Fortran. It provides a wealth of code examples and explanations for solving common scientific and engineering problems. While the course covers basic programming, this book provides additional depth into numerical methods. It useful reference for those interested in applying Fortran to computational tasks.

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