Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create CS-Survival-Guide.md #53

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions _wiki/CS-Survival-Guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
title: "Purdue CS Freshman Survival Guide"
description: "A guide to CS at Purdue, for new students!"
author: Hannah Shiple
date: 2020-04-26 12:00:00 -0400
categories: campus
---
# Blog Post #3 - Purdue CS Freshman Survival Guide

Table of Contents:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

create links for the table of contents so students can jump to a specific section? (i.e. link CS Courses to https://github.com/Purdue-CSUSB/purdueusb.com/blob/d5e6d8f8c25fecba509e8f680eec09e13cec67f6/_wiki/CS-Survival-Guide.md#freshman-cs-courses---what-to-expect)


-> CS Courses

-> Usefull Tools
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Usefull misspelled


-> Help Resources

## Freshman CS Courses - What to Expect

- First Semester:

CS 180 (Problem Solving and Object-Oriented Programming)

In this course you will get a strong foundation for the programming language Java. There is a "Black" and "Gold" section for this course which depends on your knowledge level coming into the program. But don't worry, the assignments and exams are identical for each section.

The workload for this class will seem like a lot with weekly homework's and frequent projects, so I suggest to start the assignments as soon as possible so you have enough time to ask questions and complete the work. Utilize office hours and labs, they are very helpful resources.

Software: IntelliJ IDEA - super helpful IDE for homework/projects, very easy to use and make sure to learn how to use the debugger. This software is covered by Purdue.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

include a link to the IntelliJ download page?


Recommended Textbooks: "Think Java" By Allen B. Downey & Chris Mayfield

- Second Semester:

CS 240 (Programming in C)

In this course you will be introduced to the C programming language - which entails pointer, memory allocation and recursion. C is a non-object-oriented language, it is a procedural oriented language, so you will find many differences compared to Java. This course will start off slow, giving you the building blocks of a low-level language, and then move into more complex material. Make sure you understand the first couple weeks and ask many questions! Depending on the instructor, this class typically has weekly homeworks and projects every 2 weeks. The concepts can be more difficult to understand than the programming in Java since C requires more overhead, so I recommend getting a good grasp on the material before jumping into the assignments.

Software: Using the terminal will be very important since you'll need to be comfortable with using it for the next 3 years. You can also use Visual Studio Code as an IDE if you prefer better file organization and an easier to work with interface.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

link to VSC download page?


Recommended Textbooks: "The C Programming Language" By Brian W. Kernighan and Dennis M. Ritchie

CS 182 (Foundations of Computer Science)

Typically regarded as one of the hardest courses in CS undergrad, this course will be far different from your previous CS classes since it is heavily focused on theory. If you are familiar with statistics/probability concepts that will help you in this class. A majority of this class will involve different kinds of proofs. The textbook will be your best friend in this course due to the great explanations and various examples. Homeworks will mimic concepts taught during lecture and there will be no projects in this course.

## Useful Tools

The following list will contain tools/software/websites I found helpful during freshman year in CS:

- Java Programming Language API: [https://docs.oracle.com/javase/7/docs/api/index.html](https://docs.oracle.com/javase/7/docs/api/index.html)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

update link with newest release version?


[https://docs.oracle.com/javase/7/docs/api/index.html](https://docs.oracle.com/javase/7/docs/api/index.html)

- An online compiler where you can code, compile & run simple programs:

[](https://www.codechef.com/ide)

- All about the tree data structure:

[Binary Tree](https://www.programiz.com/dsa/binary-tree)

- Lesser known C features:

[https://d3s.mff.cuni.cz/legacy/~holub/c_features.html](https://d3s.mff.cuni.cz/legacy/~holub/c_features.html)

- A guide to pointers in C: [http://www.cs.yale.edu/homes/aspnes/pinewiki/C(2f)Pointers.html](http://www.cs.yale.edu/homes/aspnes/pinewiki/C(2f)Pointers.html)

## Resources on Campus

1. USB Help Room (Computer Science Undergraduate Student Board)

[https://purdueusb.com/](https://purdueusb.com/)

Located in the basement of the Lawson CS building, this group of helpful students can help you in any of your CS courses (CS 180/182/240). If you need help understanding a concept or have a question on your homework or project, the great minds from USB can help you since many of them have taken the course themselves or are a current TA. Make sure to checkout their website for weekly office hours and tutor sessions.

2. TA Office Hours - all of your CS courses (180/182/240) will offer various times for office hours, held by either GTAs or UTAs. These are a very helpful source if you ever have a question about the class material, need help on the homework or if you are stuck on a project. There will also be fellow students at these office hours that you can meet and join forces to tackle an assignment.
3. Supplemental Instruction (SI)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add spacing


[https://www.purdue.edu/asc/si/si-schedule.html](https://www.purdue.edu/asc/si/si-schedule.html)

Supplemental Instruction is an after-class enrichment program that helps students understand difficult concepts and pushes students to work together to solve different exercises. SI is offered for CS180 and CS240, it is a very valuable tool for helping you gain a better understanding of the material in these two courses. The SI leaders are students who have taken the course in the past and have mastered the course material. You'll also be able to meet other students in your classes here since the SI leader likes to form the students into groups when solving exercises. In addition, you can even suggest topics for the SI leader to go over if there is something you are struggling with.