You are on page 1of 13

Internet Resources for Undergraduate Computer Science

By: David Sun-Chu

Table of Contents:

Page Number:

I.

General Information......3

II.

Job and Learning Resources..4


a. Stack Overflow.5
b. Code Academy.6
c. Geeks for Geeks..7
d. Association of Computing Machinery....8

III.

Literature and Database Resources.9


a. NTIS Database...10
b. ACM XRDS.12
c. ACM Digital Library.13

General Information about this Guide________________


Contents:
This guide contains resources for PSU undergraduates in computer science and engineering to
succeed in the academic, research, or professional environments. The resources in this guide
can also help students with their own projects. All the resources are reliable because they were
made by professionals or filtered by professionals in the industry.

Audience:
This guide is created for the intended use of undergraduates at Pennsylvania State University in
the computer science or computer engineering departments who have an interest in the field,
want to prepare themselves for jobs, want to do research in the field, or need resources for
their personal projects.

Assumptions:
I am assuming you have a little experience coding, so you should understand general computer
science terms like API, IDE, libraries, and general coding structure.
You should be able to navigate a webpage via simple instructions. You should also have access
to a PennState computer in case you want to access any of the databases listed below.

Organization:
I organize this guide into three sections: General Information, Job and Learning Resources,
Literature and Database Resources. Within each section I describe each resource, how to use
them, various benefits, and tips.

Tips for Effective Use:

In order to understand what each resource is and its purposes, read through the What is
it? and Why Should you care? subheadings before clicking on the link.
Select what will benefit you in this guide. If a resource pertains mainly to research
documents and you are not interested or will not make use of research documents, skip
to the next resource.

Job and Learning Resources________________________


What are these? :
Have an interview to prep for? What about an upcoming exam? These resources
are here to help you prepare for exams, home works, and technical interviews.
Stack Overflow
Code Academy
Geeks For Geeks
ACM

a question and answer website about coding errors


a website to help learn how to code
a website with libraries of interview questions
a computer science professional and student society

Stack Overflow__________________________________
Programming Error Resource

How to get there? :

www.stackoverflow.com
Accessible through anything with internet connection

What is it? :
Stack Overflow is a question and answer website for both professional and enthusiast
programmers. Each question is categorized by tags ranging from subjects about broad
languages like C++ and environments like Visual Studio to individual libraries like the google
maps programming interface. As a computer science student, you are more than likely to
encounter a bug in code; they have over 10 million questions answered, so it is probable that
your question will be in their database. New questions pop up on the front page and you can
search back years and years in their database. If you cant find the question, you can post one
yourself.

Why should you care? :


As a computer science student you will have lots of experience with many different
environments and many different languages. Stack Overflow not only provides answers to logic
bugs, but also syntax and runtime errors as well. As you read through the questions and
answers you also learn more about the subject in mind.

Tips:

Search your error in google, Stack Overflow will more than likely come up with an
answer.
o IMPORTANT: Make sure you read through the entire question before going to
the first answer. Even if the question differs a little, if you understand the
context of the question and the reasoning behind why the answer works, you
can apply the reasoning to a different context.
If you want to test your debugging skills you can make an account and answer
questions. There is even a leadership board.
The people answering the questions have experience from companies in the industry
like Google, Microsoft, and various others, so its very beneficial to read through the
reasoning behind their questions.
There are a variety of ways to go about solving a coding questions. Some solutions are
faster, some cost more resources. At Stack Overflow there may be multiple people
answering one question so you get multiple perspectives.
5

Code Academy__________________________________
Learning Resource

How to get there? :

www.codeacademy.com
Access through anything with internet connection

What is it? :
Code Academy is a website to learn how to code. They have a multitude of different languages
ranging from web design to ruby. They even have links to learn APIs like Youtube, Twitter, and
SoundCloud. Code Academy has a built in coding environment on their browser, so they literally
guide you step by step when you code. They also have extra resources that are more in depth
explanations about concepts from courses if you want to dive deeper. If you have never learned
how to code or have little experience with a certain language, Code Academy is a very good
resource to catch up or build a foundation. They update their site very frequently, I see new
content there every week.

Why should you care? :


Many times at big universities like PSU, beginner programming classes are considered weed
out courses, meaning that they enroll a lot of students and pass a small proportion. Sometimes
professors will already assume you know how to code or they may have an expert blind spot
and assume you already understand some basic concepts. Coding websites are a very good
resource to give you a foundation if you have no coding experience or feel behind the crowd.

Tips:

If you dont like the coding environment Code Academy set up, there are many sources
for learning coding. Just by searching on google you can find dozens, and you can
Youtube literally any language and find channels dedicated to providing tutorials.
Before you start any of their tutorials, they state the duration, level of difficulty, and
amount of students.
Creating an account will let you track your progress as you learn more languages. It also
helps out Code Academy see what types of languages people are learning.

Geeks for Geeks_________________________________


Job Resource

How to get there? :

www.geeksforgeeks.org
Accessible through anything with internet connection

What is it? :
Geeks for Geeks is a website to prepare students and professionals for interviews in the
computer science field. They have question banks with tens of thousands of sample interview
questions ranging from languages like C++ and java to concepts like algorithms and trees.
Interview experiences from real people interviewing at big companies like IBM, Google, and
Twitter, give you a general feel of how these interviews will flow and what types of questions
they might ask. They post new articles everyday about recent interview questions people have
been asked.

Why should you care? :


If you have an interview coming up, you should definitely go check out this website. It is a great
resource not only for your internship/co-op interviews, but also the technical interviews you
will receive after college. Having some practice and expectations of what interviewers might
ask you also gives you some confidence, a valuable quality desirable by any company.

Tips :
Try to answer the questions before looking at the writers solution first. By doing so you
learn what differs between their thought process and that of your own. It helps you
remember the correct solution.

Geeks for Geeks can also be used as a learning resource for classes. I found the website
when I was trying to learn the substitution method and master theorem for solving
recurrences (in CMPSC 465). Im sure you can utilize their resources to understand other
subjects as well.

There is also a comment section on the bottom of each question, so if the solution

doesnt make sense to you, you can check out other peoples questions or even ask your
own.
A beta version of their IDE is also available if you want to practice some of the questions
on the site.

Association of Computing Machinery________________


Job/Learning/Research Resource

How to get there? :


Some resources may require a membership ($19.00/annual student membership,

$100/annual professional membership)


www.acm.org
Accessible through anything with internet connectivity

What is it? :
The ACM is the worlds largest educational and scientific computing community. There is a wide
range of resources to access from the ACM, like learning activities, job centers, committees and
special interest groups, blogs, news, tech packages to download, and publications from the
digital library. From the learning center link, the SkillSoft center provides courses that teach
skills relevant to the industry along with provides professional mentors from the mentoring
program. Webinars allow you to watch tutorials about today and tomorrows hottest topics
from leaders and innovators. The website is updated every day with new articles about ground
breaking innovations.

Why should you care? :


The ACM is a great place with a multitude of resources for not only professionals but also
students in the computer science field. If you are having trouble in a class you can check to see
if the ACM has courses on the subject. Many times the resources online will be better than
teachers in PennState (I have had this experience before). Professors here are sometimes too
preoccupied with their research to put forth 100% of their effort into educating students,
whereas the resources and mentors on ACM are there specifically for the purpose of teaching.

Tips:

The website may look a little rudimentary for a computer science society. They are in
the process of redesigning it. If you want to check it out you can check it out at
preview.acm.org and send them feedback.
The tech packs they provide are really good in learning innovative technologies like
cloud computing, they are created by experts in the field.
Check out the special interest groups if you have a specific subject in computer science
you want to get into.

Database and Literature Resources__________________


What are these? :
Need to write a technical paper for a class? Want to get involved with research?
Check out these resources below!
NTIS
XRDS
ACM Digital
Library

a database with research papers from all engineering


disciplines
a quarterly magazine for students in the computer science
field
a database with resources pertaining to all fields in
computer science

National Technical Information Services Database______


NTIS Database Resource

How to get there? :

Make sure you are on a PSU computer


Go to libraries.psu.edu
Search NTIS in search bar

What is it? :
NTIS is a database with a wide arrange of technical documents, audio/video works, magazines,
scholarly journals, and much more, all specifically for the use of engineering majors. The
database is filled with current research papers from technical fields, so it is cool to see what the
new and rising topics in a certain area of study are. This database is a great resource for any
type of research you may have to do for a class. You can trust the validity of the documents in
this database because they have all been filtered through by professionals or created by
professionals. New documents are added every day, so you can trust that the information you
are getting is up to date.

Why should you care? :


Pennstate has one of the biggest computer science research departments in the country. If
research sounds attractive to you, just reach out to any professor and ask to see if you can help
them with their work. The experience you gain from working with professors is invaluable.
If research isnt your forte, this resource can be very beneficial for research papers in any
technical field. Not every assignment will be coding, some are very theoretical. Specifically I had
a paper to write about current RAM technologies in CMPEN 270. NTIS would have helped a
bunch for researching this topic.

Tips:

Use "quotation marks" to search for exact phrases.


Separate terms with OR to find any of the words entered.
You can use command line search if you are really cool. Like TI(SearchTerm) will find
articles with SearchTerm in the title. This helpful if you want to quickly narrow down
your search results.

One Interesting Document:

Computer Science Research Funding: How Much Is Too Little

10

This document was triggered by the university and congressional concern that the
Department of Defense was going to limit their funding of computer science research
for future years. It includes studies from 2001 to 2011 and gives good perspective about
just how much money goes into this industry, especially for defense purposes. It is
stated that network and information technology funding has grown to over 2 billion in
2008, which doesnt even account for a quarter of the total research funding.
You can find the document through the NTIS database or just search it on google for a
PDF version.

11

ACM XRDS______________________________________
Professional Journal

How to get there? :


Yearly payment rate starting at $19.00 student base with different deals

http://xrds.acm.org/#Software Engineering
Accessible through anything with internet connection

What is it? :
This is a printed and online magazine called Crossroads made for students in computer science
by students in computer science. A lot of times especially in computer science technical articles
can sometimes go too in depth and quickly lose an inexperienced reader, I like XRDS because it
is edited by students so they cater to a predefined audience. There is a lot of information in
each quarterly edition about calls for papers, grants, and other opportunities along with articles
that about important interviews, round table discussions, and high level overviews.

Why should you care? :


A lot the courses at PennState are very old, even though the faulty updates the curriculum
yearly, the material you will learn may not be the most up to date. It is good to have other
resources for up to date information in computer science. The magazine also gives you the
chance to get involved with papers, fellowships, grants, and much more.

Tips:

If you are afraid of committing $20 before knowing what the magazine is like, check out
the Magazine tab in the top bar. There you can read the current issue in PDF form and
decide if you like it.
Check out the Resources tab in the top bar if you want more information pertaining to
the magazine, guides of how to write research papers, how to learn programming, and
job searches.

12

ACM Digital Library_______________________________


Index to Periodical Literature

How to get there? :


Some resources like the e-books require an ACM ($19.00 Student Annual Base)

Accessible through anything with internet connection


http://dl.acm.org/dl.cfm?CFID=548234719&CFTOKEN=37256285

What is it? :
The ACM Digital Library is a database of all the articles, books, magazines, and journals
published by the ACM, but also huge amounts by other renowned publishers in the field.
Documents ranging from networks and communication to artificial intelligence make the
database a resource with vast range. They include links to special interest groups for people
who have an interest in specific computing fields and have weekly training sessions to navigate
their digital library.

Why should you care?


This resource is for students who want to get involved with research in the computer science
field, is interested in the field, or wants to stay up to date with current advances in the
technology.
If you want to get involved with research, reading through past publications is a great way to
start. It gives you a better idea of how to begin, the style and format, gets you familiar with
leaders in the field.
If you are interested in a specific topic in computer science, the ACM Digital Library is bound to
have documents about the subject or relating to the subject. New documents are published
daily so you can rest assured that the information is the most up to date.

Tips:

You can browse all the documents and sort by type, publisher, and subject.
You can even download the app version of the library for reading on the go!
Advanced search can narrow your results by keyword, identification codes, computing
classification, year published, location published in, and much more!
Also the ACM designed the website and database.. you can expect fast algorithms

13

You might also like