Programmers are in higher demand today than ever before. Get the essential skills and tools to become a successful software engineer, and learn the fundamental concepts and practices that are critical to the task of coding—no matter what language you choose.
Develop the knowledge to begin programming in any language.
Connect programming theory to practice in real life scenarios.
Learn and apply best practices from experts in the field.
Programming Foundations: Fundamentals with Annyce Davis
Prepare to learn the fundamental concepts, practices, and terminology of programming in this introductory course.
2h 6m • COURSE
Programming Foundations: Beyond the Fundamentals with Sasha Vodnik
Dive deeper into the foundational concepts, practices, and terminology of programming. Learn how to work with collections, use external code, find and fix bugs, and more.
2h 4m • COURSE
Programming Foundations: Object-Oriented Design with Barron Stone
Good software starts with great design. Get a fun and fresh introduction to object-oriented design and analysis—from defining requirements to diagramming classes.
2h 40m • COURSE
Programming Foundations: Algorithms with Joe Marini
Algorithms are the universal building blocks of programming. Learn the most popular and useful programming algorithms for searching and sorting data, counting values, and more.
1h 45m • COURSE
Programming Foundations: Design Patterns with Elisabeth Robson
Learn about key object-oriented design patterns (including the Observer, Decorator, and Factory patterns) that make your development process faster and easier.
1h 44m • COURSE
Programming Foundations: Data Structures with Kathryn Hodge
Learn about programming with data structures. Discover how to store, organize, and access data using data structures such as arrays, linked lists, stacks, queues, and hash tables.
2h 20m • COURSE
Programming Foundations: Databases with Scott Simpson
Learn the fundamentals of database programming. Find out how to build a database, define relationships, and write queries.
1h 25m • COURSE
Programming Foundations: APIs and Web Services with Kesha Williams
Learn all about web services—the standard method of communicating between applications and across the web—and see how to build them using several popular technologies.
1h 14m • COURSE
Programming Foundations: Web Security with Kevin Skoglund
Learn about the most important security concerns when developing websites, and what you can do to keep your servers, software, and data safe from harm.
2h 17m • COURSE
Programming Foundations: Test-Driven Development with Neelam Dwivedi
Improve your software quality and delivery speed. Learn how to adopt a test-driven development process to build testing into your daily routine.
1h 41m • COURSE
Programming Foundations: Software Testing/QA with Meaghan Lewis
Learn how to incorporate different kinds of software testing into your development cycle to help your team meet quality goals with every release.
53m 51s • COURSE
Programming Foundations: Secure Coding with Frank P Moley III
Learn how to incorporate security into the software development life cycle. Add secure coding practices to agile processes to protect data and prevent recurring flaws.
1h 34m • COURSE
Programming Foundations: Fuzzy Logic with Erin Colvin
Learn about fuzzy logic-a form of logic used in AI, which helps computers handle partial truths and more closely approximate human reasoning.
41m 50s • COURSE
You'll learn programming with these experts
Annyce Davis is a software developer, international conference speaker, and author.
Currently, she's the lead Android developer at Off Grid Electric, where she works on implementing a next-generation Android mobile user interface, and reengineering the app to be resilient to spotty data coverage. Annyce is also an Android Google Developer Expert. This means that she spends a lot of time developing videos, blog posts, and conference talks for the developer community. She's very proud of and passionate about this work. Her ultimate goal with respect to technology is to share her experiences in tech and engineering to inspire others to do the same.
Sasha Vodnik is a technical course developer at DocuSign.
Barron Stone is an electrical engineer experienced in both low-level digital hardware and high-level software.
He earned his bachelor of science in electrical engineering from Rice University and his master of science in electrical engineering from the Air Force Institute of Technology. He spent several years as an applications engineer and product-marketing engineer at National Instruments, where he developed marketing and training content for the FPGA-based NI FlexRIO modular instruments. Today, Barron is serving as an officer in the United States Air Force.
Joe Marini is a senior developer advocate at Google and a developer of Dreamweaver and Windows Phone.
Joe has worked in the web and software industries for more than 20 years. He was an original member of the Dreamweaver engineering team at Macromedia, and held prominent early roles in creating products such as QuarkXPress, Microsoft Expression Blend, mFactory's mTropolis, and Extensis QX-Tools. He is regularly a featured speaker at industry conferences and has authored or co-authored several publications on web and software development. Prior to Google, Joe was responsible for the mobile web developer platform for Windows Phone 7 at Microsoft. His book, The Document Object Model, is widely regarded as the definitive resource for working with the DOM.
Elisabeth Robson is an author and software developer.
Kathryn Hodge works as a software developer at a media company.
In addition to her work as a developer, Kathryn runs a YouTube channel for people wanting to learn how to code. Before graduating college, she worked for three years as a computer science teaching assistant. She is very interested in the intersection of media, entertainment, and technology, and is focused on creating software that makes an impact.
Scott Simpson has a master's in education and currently creates technology courses as an author at LinkedIn.
Scott has been interested in computers since he was about seven years old, and for most of that time, he's been teaching friends, family, and strangers how to use them. This geeky hobby turned into a job with Apple during college, and after completing his master's degree in education at San Diego State University, he has helped to shape the Developer segment here at lynda.com as a content producer. Scott enjoys building web apps and exploring new technologies. He can be found on Twitter at @scotty82.
Kesha Williams is a software engineering manager, mentor, speaker, tech blogger, and STEM advocate.
Kesha (pronounced KEY-SHA) Williams is an award-winning software engineer with over 20 years' experience specializing in full-stack web application development using Java, Spring, Angular, and Amazon Web Services (AWS). She has trained and mentored thousands of software developers in the US, Europe, and Asia while teaching Java at the university level. She started her career with the National Security Agency (NSA).
Kesha most recently won the Ada Lovelace Award in Computer Engineering from LookFar and the Think Different Innovation Award from Chick-fil-A for her work with emerging technologies and artificial intelligence (AI). She was recently featured in the Amazon "Alexa Women of Voice" campaign and the #WePowerTech series from A Cloud Guru. In her spare time, she writes Java news for InfoQ, leads the Georgia chapter of Technovation, speaks at technical conferences across the globe, serves as a mentor with the New York Academy of Sciences, and conducts free "Hour of Code" workshops for children at her local library.
Kevin Skoglund builds custom web solutions at Nova Fabrica and teaches web development at LinkedIn Learning.
Kevin Skoglund is the founder of Nova Fabrica, a web development agency specialized in delivering custom, scalable solutions using Ruby on Rails, PHP, SQL, and related technologies. Nova Fabrica clients include An Event Apart, Atlas Carpet Mills, Consulate Film, Gregorius|Pineo, Maharam, Oakley, and The Bold Italic. Kevin is a lynda.com author with over 15 years of teaching and web development experience.
Neelam Dwivedi is an assistant teaching professor at Heinz College at Carnegie Mellon University.In her current role at Heinz College, Neelam teaches courses related to object-oriented analysis, design, programming, and data structures for application development. She's also taught courses on topics ranging from advanced computer programming to project management in both the US and India at corporate, graduate, and undergraduate levels.Before moving into academics, Neelam spent over 20 years in the IT industry. She brings a unique combination of industry, teaching, and research experience, reflecting both academic and practitioner perspectives. She holds a PhD in information science and technology from Penn State University, as well as two master's degrees from Heinz School, Carnegie Mellon University in information technologies and BITS Pilani in computer science. Her undergraduate education was also in computer science at the Institute of Engineering and Technology in Lucknow, India.
Meaghan Lewis is a technical program manager at Microsoft.
Meaghan currently focuses on creating and delivering learning experiences centered around emerging technology. Meaghan has a superpower in quality engineering and has worked in the QA field for nearly a decade, working at GitHub, startups, and at a tech consultancy. Meaghan has a passion for teaching and has spent years speaking at conferences and delivering online learning content.
Meaghan is a California native and currently lives in sunny Oakland, California with her husband and two dogs. On a typical day you will most likely find her outside getting some fresh air by walking her dogs or gardening. She also enjoys Pilates, cooking spicy food, and watching scary movies.
Frank Moley is a senior software engineer at DataStax, where he works on cloud-based systems.
Frank's passions include modern application architectures and containerization of systems in multi-cloud, public and private cloud, and hybrid offerings. His passions extend beyond developing software into security, data design and modeling, DevOps and agility, and quality. His greatest professional passion, however, is education, as both a teacher and student. He strives to learn something new every day and then teach it to as many people as he can.
Dr. Erin Colvin is a Certified Ethical Hacker, published author, and computer science instructor.
She is a self-directed, enthusiastic educator with a passionate commitment to student development and the learning experience. Dr. Colvin loves computer science and tries to bring it to as many mediums and students as possible. Currently, she teaches programming and software engineering at Western Washington University. Her most recent book, co-authored with Donald Kraft, is Fuzzy Information Retrieval.