Skip to content

Home

CS 149: Introduction to Programming
James Madison University | Fall 2023 | Dr. Mayfield

Screenshot of Thonny

About the Course

Have you ever wanted to create your own mobile app, interactive website, or video game? This hands-on course will give you a solid foundation for all kinds of programming. Learning to program is very rewarding, both for pursing your interests and for changing the world. Computer science drives innovation in society today, and Python has become incredibly popular (TIOBE Index).

I encourage you to learn new problem-solving skills, experiment with algorithm design, become familiar with a formal language, and develop new technical skills. Programming can be difficult at times, but what you learn is worth all the effort. I promise to create a collaborative, team-based learning environment that encourages questions, provides significant learning opportunities, and actively involves you. I hope you enjoy the course!

About the Instructor

Chris Mayfield is a Professor of Computer Science at James Madison University. His research focuses on CS education and faculty development at the undergraduate and high school levels. He currently has two NSF-funded projects: one that studies student engagement in CS1 (2216454) and one that supports high school CTE teachers (2219770). He received a Ph.D. in Computer Science from Purdue University and bachelor’s degrees in CS and German from the University of Utah.

Acknowledgments

Many JMU CS faculty have contributed to this course over the years. Special thanks to my colleagues who have shared activities, labs, homeworks, quizzes, and exams. This semester's materials were co-developed by professors Alvin Chao, Mona Rizvi, Chandani Shrestha, Sharon Simmons, Nathan Sprague, and Isaac Wang.

Unless otherwise noted, the materials on this website are freely available under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.