Computer Science

Computer Science is the art of programming a computer.

C.A.R. (Tony) Hoare

BasicsStart CodingKeep LearningResearchFor EducatorsWomen in CS

Why Study Computer Science?

Make an Impact

CS affects all aspects of modern life. It blends logic, problem-solving, creativity, and innovation. It needs all kinds of people to bring us into the future.

Learn Something Fun

Computer science can be fun! It also requires a different skill set than traditional math and science. Try it out even if you are not interested in those fields

[Association for Computing Machinery (ACM); U. S. Occupational Outlook Handbook]

Learn about the history of computing

The Atlantic logoHow Aristotle Created the Computer An article discussing the history of the philosophy behind computer science.


Crash Course:  Computer Science (2017) Origins of modern computers, ideas behind hardware and software, nature of smart devices, and future of computing. About 10 minutes each.




Films on Demand LogoThe Secret Rules of Modern Living: Algorithms (2015) One example of over 200 videos on CS through the WCC Library’s Films on Demand database.


Database LogoOpen Data Structures: An Introduction (2013) An introduction to data structures and algorithms “that will serve the needs of all undergraduate students or self-directed learners.”


khan logoKhan Academy: Algorithms A course on “introductory computer science algorithms, including searching, sorting, recursion, and graph theory. Learn with a combination of articles, visualizations, quizzes, and coding challenges.”


Growth Mindset

Database LogoThink Like a Programmer: An Introduction to Creative Problem-Solving (2012) “…how to systematically approach every programming task with skill and confidence.”

Start Coding

Which Language Should You Learn First?

Multi-Language Learning Apps


Interactive coding tutorials, designed for online learning

W3Schools LogoW3Schools A “web developers site, with tutorials and references on web development languages such as HTML, CSS, JavaScript, PHP, SQL, W3.CSS, and Bootstrap, covering most aspects of web programming.” This site is used in WWU courses.


To start with something simple, try HTML and CSS.

Web Development & Design Foundations with HTML 5 (print Stacks QA 76.76  .H94 F455 2017)


Introduction to HTML5Coursera Logo A novice-level course that explores theory and practice with an emphasis on standards to promote accessibility.

Introduction to CSS3 A course emphasizing “learning how to write CSS rules, how to test code, and how to establish good programming habits.”


Python, JavaScript, or SQL

Note that JavaScript and Java are different languages.

Database Logo

Python Crash Course: A Hands-on, Project-Based Introduction to Programming (2015) “…a fast-paced, thorough introduction to Python that will have you writing programs, solving problems, and making things that work in no time.”


Pythod LogoLearn Python the Hard Way A free online text on reading and writing basic Python designed for beginners.


MIT Open Courseware LogoMIT OpenCourseWare: Introduction to Computer Science and Programming in Python (2016) A course using Python 3.5 “for students with little or no programming experience.” It’s designed to show how computation can help solve problems and to teach students confidence in writing small, useful programs regardless of major.


Udacity logoUdacity: Intro to JavaScript “Learn the fundamentals of JavaScript, the most popular programming language in web development.” Courses at Udacity are free. Paying will get you some mentoring, feedback, etc.


khan logoKhan Academy: Intro to SQL: Querying and managing data “Learn how to use SQL to store, query, and manipulate data. SQL is a special-purpose programming language designed for managing data in a relational database, and is used by a huge number of apps and organizations.”


Java, C++, or C#

Harder languages to start with. Especially important for mobile app development as taught at WCC.

(Java for Android, C# for Windows Mobile, Objective-C for iOS).


Java: a Beginner’s Guide  (print Stacks QA 76.73 .J38S327 2014)


Saylor Academy LogoSaylor Academy: Introduction to Computer Science I Some history of software development and the fundamentals of programming using Java.


Saylor Academy: C++ Programming Essential elements of C++, the basics of object-oriented programming, and more.

Database Logo

Pro C# 5.0 and the .NET 4.5 Framework, 6th Ed. (2012) A guide providing “a rock-solid foundation in the C# programming language and the core aspects of the .NET platform.” C# is now in version 7 as of 2017. Google C# 6 or C# 7 for changes from 5.

xkcd 303 funny

Learning Together

StackOverflow A “community of 7.2 million programmers, just like you, helping each other.”

StackExchange: Computer Science A “question and answer site for students, researchers and practitioners of computer science.”

GitHub A “development platform inspired by the way you work. From open source to business, you can host and review code, manage projects, and build software alongside millions of other developers.”


The latest from Jeff Atwood’s Coding Horror blog. Atwood founded the sites Stack Overflow and Stack Exchange.

Professional Organizations

Association for Computing Machinery (ACM) “…brings together computing educators, researchers, and professionals to inspire dialogue, share resources, and address the field’s challenges.”

IEEE Computer Society “The world’s leading membership organization dedicated to computer science and technology.”

Computing Research Association (CRA) “Uniting industry, academia, and government to advance computing research and change the world.”


Algorithms to live by: the computer science of human decisions (print Stacks BF 39  .C4885 2016)

Geek sublime: the beauty of code, the code of beauty (print Stacks PN 56 .T37C426 2014)

Coding Horror LogoRecommended Reading for Developers Jeff Atwood’s recommended reading list, with a focus on “how people work” in order to understand how “to make better software.”


Just for Fun

Check out Mattias Petter Johansson’s YouTube channel funfunfunction. Focuses on programming musings, coding projects, and functional JavaScript.

Link to YouTube video


Concepts and Vocabulary

Dictionary of Algorithms and Data Structures A dictionary of “algorithms, algorithmic techniques, data structures, archetypal problems, and related definitions” from the National Institute of Standards and Technology (NIST).

Articles and eBooks

Database Logo

ITPro™ WCC Library database of computing-related books, videos, etc.


CiteSeerX “An evolving scientific literature digital library and search engine that has focused primarily on the literature in computer and information science.” Developed and hosted at Penn State University.

CoRR: Computing Research Repository This site “allows researchers to search, browse and download papers through its online repository.” A sub-site of from Cornell University.


Recommended Journals

Communications of the ACM (via Business Source Elite) “Articles to advance the science and arts of information processing, to promote the free interchange of information among specialists and the public, and develop and maintain integrity and competence of individuals in the field.”

IEEE Access (via Directory of Open Access Journals) A “a multidisciplinary, applications-oriented, all-electronic archival journal that continuously presents the results of original research or development across all of IEEE’s fields of interest. Supported by author publication fees, its hallmarks are a rapid peer review and publication process with open access to all readers.”


For Educators

History and Future of CS Education

Education in Computer Science (via Credo Reference) A history of education in CS.

Computer science education: why does it suck so much and what if it didn’t? CS educator Ashley Gavin discusses why our country needs more people in CS and argues why we should not be teaching it as though it’s “an elite club for only the smartest people in the country.” [Jul 2015, 20 min.]

The latest entries from the Computing Education Blog:


Open Textbooks

Textbooks that you can modify, revise and distribute to you students.

The Missing Link: An Introduction to Web Development and Programming “…provides the developer with an understanding of the various elements of web development by focusing on the concepts and fundamentals” through examples.

Foundations of Computation For a one semester introductory theoretical computer science course. Includes “discrete mathematics, automata theory, formal language theory, and the theory of computation, along with practical applications to computer science.” Prerequisite: “General familiarity with computer programming.”

Eloquent JavaScript: A Modern Introduction to Programming About “JavaScript, programming, and the wonders of the digital.”

Think Python 2nd Ed.: How to Think Like a Computer Scientist An “introduction to Python programming for beginners.” Defines “all terms” and develops “each new concept in a logical progression.”

Introduction to Programming Using Java “…directed mainly towards beginning programmers … might also be useful for experienced programmers who want to learn something about Java.”


Commercial Resources

O’Reilly Media Academic Solutions How to use books from O’Reilly Media in your classroom. O’Reilly will provide classroom copies of many of their books free of charge to educators with a limit of two per semester. The files have no digital rights management (DRM), i.e. the publisher has not applied any technology to restrict their use.

Women in Computer Science

Why are the majority of CS students male?

NPR LogoWhen Women Stopped Coding Many of the earliest “computers” were women, so when did women stop? This article explains that women’s involvement in CS began declining when personal computers showed up in U.S. homes and were marketed as a male hobby.


What can people do about it?

Encourage Women’s Interest in Tech

Women in Computer Science: Getting Involved in STEM This guide from offers statistics, suggestions, and support resources.

Geek Gurl Diaries Logo



Geek Gurl Diaries A video series by Carrie Anne Philbin, an award-winning U.K.-based CS educator. Focuses on “using and making technology, along side interviews with inspirational women in the fields of computing, science, technology and engineering.”


Reach Out to Others

IEEE Women in Engineering (WIE) “…one of the largest international professional organizations dedicated to promoting women engineers and scientists and inspiring girls around the world to follow their academic interests to a career in engineering.”

Association for Women in Science (AWIS) “We are dedicated to driving excellence in STEM by achieving equity and full participation of women in all disciplines and across all employment sectors.”

National Center for Women & Information Technology The”only national non-profit focused on women’s participation in computing across the entire ecosystem, helping nearly 900 organizations recruit, retain, and advance women from K-12 and higher education through industry and entrepreneurial careers

by providing support, evidence, and action.

Being an Effective Ally to Women and Non-Binary People

Stay Informed

The latest news from the Anita Borg Institute, “a social enterprise founded on the belief that women are vital to building technology that the world needs”: