Giter Club home page Giter Club logo

wsu-cse-resources's Introduction

WSU-CSE-Resources

Recommendations and websites to look at to give yourself a summer project

Summer / Personal Projects

Learn New Stuff!

The focus of learning any one computer language is to nail down the basics. Maybe code will look
a little different, but the important things like making a variable, using loops, if statements,
and conditional or relational operators are all fundamentals that every language utilizes.

  • Python (3.6 or higher)

    • Python is very beginner friendly, which is why you see such a high adaptation of it in so
      many different fields.
    • Author's Note: Python 2.7 released its final version, so it's worth focusing on 3.6+
  • Java

    • Java is utilized heavily in our intro level courses, so it may be worth poking around at now
      to get ahead of the curve!
  • C / C++

    • Super useful for hardware / optimization focus. Utilized in higher level courses
  • Bash / Scripting / Linux

    • Linux is an operating system that is wonderful for development (and very useful to your learning at Wright State).
      You can start fidgeting with Linux in a variety of ways:
      • Raspberry Pi - a computer that only runs Linux. The entire system runs off an SD card, so
        if you fidgeting goes awry, you reinstall the SD card and you're off again!
      • Virtual Machines - VMWare and Virtual Box are programs that let you use "guest" operating systems. So instead of installing only Linux on your computer, you can keep Windows and run Linux when
        you feel like dabbling.
    • WSL Ubuntu - A full Linux environment built directly into windows 10, allowing you to experiment with Linux and never leave the comfort of your windows operating system
    • Terminal - The same basic principle as WSL Ubuntu, but for Mac and Chromebook users.
    • If you do feel like installing Linux on your computer, it is fairly easy to set up a 'dual boot' system, where you can select whether you want to be run Linux or Windows each time you turn on your computer. Note that this will require a minimum of about 50GB of storage. There are many different versions of Linux (called distros) available, which can be a bit overwhelming to choose from at first. To get started, the department recommends one of the following
      • Ubuntu: Probably the most common distros available.
        • Pros:
          • It's extremely popular and well supported.
          • Installing software is extremely easy
        • Cons:
          • It has a reputation for being a bit "bloaty" compared to other distros, though still less so than windows.
          • The default desktop layout is a bit unorthodox.
      • Linux Mint: An extremely popular distro for people used to the windows look-and-feel, based on Ubuntu
        • Pros:
          • Based on Ubuntu, so it benefits from the easy software options, popularity, and support.
          • The default desktop layout is virtually identical to windows, so there's virtually no learning curve for casual use.
        • Cons:
          • Arguably more bloaty than Ubuntu
          • There has been issues with some older graphics drivers in the past, though they have mostly been fixed
      • ElementaryOS: A beautiful and refined Linux distro, based on Ubuntu and inspired by apple
        • Pros:
          • Also based on Ubuntu, so the comments about ease of use and support also apply here.
          • Is less bloaty than Ubuntu, so it will probably run better on older hardware
          • The default desktop layout is very similar to a mac's, so mac users will have an easier time here :)
          • It's pretty.
        • Cons:
          • It's a slightly newer distro, so some of the flexibility that you would get in Ubuntu isn't available yet.
          • Software support isn't quite as good as on Ubuntu.
          • There are reports of there still being some bugs that need to be worked out
  • Git (and GitHub)

    • You are creating these wonderful projects, learn how to share them with the world!
    • Git is a version control system. It is also a fantastic resume builder.

Programming Practice

The great thing about programming is that you can get a lot of practice without buying anything. Take a look at the following websites:

  • Repl.it
    • Allows free-form coding in literally dozens of programming languages, via a web browser interface
  • CodinGame
    • Practice programming in a wide variety of popular languages by competing in various game-themed contests.

Course Samples

Sample labs of freshman / sophomore level courses from Spring 2020

Blinky Lights!

These websites have amazing blogs full of project ideas to tackle.

  • Raspberry Pi
    • Linux, Python, C
  • Arduino
    • C / C++
  • Sparkfun
    • Sensors, kits, electronic equipment
  • Adafruit
    • Adabox subscription service - project kits with resources
    • Sensors, kits, electronic equipment

Robots!

E-Books!

  • HumbleBundle
    • Known for deals on games, but they also create e-book collections. They change topics and themes every few week, but usually have at least a couple technology options.

Cyber / Linux

  • OverTheWire - Wargames
    • We recommend trying out the game "bandit"
  • PicoCTF
    • Capture-the-Flag games targeted towards high school cyber students, but still a fun introduction to the basics.

Other Resources

Computer Recommendations

When in-person, there are lots of computer labs on campus. A course that requires coding is usually
taught in a lab with computers in it for the students. That said, our FAQs frequently circle back to,
"What computer do I need for this program?" So here are some guidelines.

  • Campus IT resources are focused on Windows and Linux systems. Mac users may need to run some course software in a virtual machine. Using a chromebook as your primary system isn't recommended, though it is possible to use one alongside another computer.
  • Processor: Four processing cores is a recommended minimum, preferably with eight threads. Most i5 or ryzen 5 processors will meet this requirement, in edition to the recent 3rd gen ryzen 2 processors.
  • Storage: Try to get at minimum a 256+ GB SSD (Solid State Drive). Some external storage like a small flash drive for backups and transferring files between your personal computer and lab computers is also recommended.
  • Memory: 4GB of RAM is a bare minimum. 8GB+ is recommended
  • Graphics: No requirement here. We utilize servers with GPUs and cloud services like AWS for courses
    that need access to graphics for learning / computation

wsu-cse-resources's People

Contributors

pattonsgirl avatar tux2603 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.