Computer Science

At Whatcom Community College, Computer Science (CS) focuses on computer programming.

BasicsStart CodingKeep LearningResearchFor EducatorsWomen in CS

Basics

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]

Resources for Beginners

Learn about the history of computing and how to think like a programmer.

 

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

 

How Aristotle Created the Computer
An article discussing the history of the philosophy behind computer science.

 

Database LogoCoding for Dummies (2015)
“…one-stop guide to building a foundation of knowledge in writing computer code for web, application, and software development.”

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

 

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 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.”

Start Coding

Which Language Should You Learn First?

For guidance, one option is Codecademy. Sign up for a free account and learn many languages interactively.

Try the following for more language-specific resources.

 

HTML and CSS

To start with something simple, try HTML and CSS.

They’re not full “programming languages,” but are necessary tools for web design.

 

WCC Library LogoWeb development and design foundations with HTML5 (2017)
Find it upstairs in the WCC Library’s QA section. Call # QA 76.76  .H94 F455 2017

 

Coursera Logo

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

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

 

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.

 

Python, JavaScript, or SQL

Relatively easy programming languages that are in high demand.

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.”

 

Learn 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: 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 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).

 

WCC Library LogoJava: a beginner’s guide (2014)
Find it upstairs in the WCC Library’s QA section. Call # QA76.73.J38 S327 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.

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.”

Blogs

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.”

Books

WCC Library Logo

Algorithms to live by: the computer science of human decisions (2016)
Find it upstairs in the WCC Library’s BF section. Call # BF39 .C4885 2016

WCC Library Logo Geek sublime: the beauty of code, the code of beauty (2014)
Find it upstairs in the WCC Library’s PN section. Call # PN56.T37 C426 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.

Research

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).

Wikipedia: Computer Science Portal
A great resource for techology-related fields because it is constantly updated with the latest information.

 

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 arxiv.org 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 computerscience.org 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”: