Go back to Course Home Page

Course Technology and Websites

The purpose of this document is to outline required and recommended course technologies, and their setup instructions. You are expected to be aware of both required and recommended course technologies.

Important course rules about technology

  • We do understand that sometimes technical issues happen. Sometimes it’s avoidable, and sometime it’s unavoidable. We will always try to do our best to accommodate issues and support you as you resolve issues.
  • At the same time – We cannot always accept technical / computer issues as a legitimate reason for late or incomplete work. – this is nothing personal, it’s simply a limitation of the size at which the class is offered.
  • Your computer is ultimately your computer, and you should be pro-active in setting up software and ensuring backups as needed. Course staff is generally happy to help resolve issues with course technologies on personal computers, but we cannot guarantee you a fix. There are too many hardware and software configurations possible for us to know every possible issue.

Technical problems can, and do happen. They are often not your fault, but you are often held responsible for their consequences nonetheless. The best way to mitigate this risk is to be familiar with multiple ways of accessing course technologies. That way you have a fall-back plan for when something inevitably goes wrong.

Required Technology

If you cannot access a required course technology, please contact Professor Picoral immediately. Professor Picoral will work with you to find any possible way to make the course possible or to resolve any technological limitation. If we can’t resolve the issue together then you will likely want to withdraw from class as these technologies carry grade-weight

Canvas

What and Why? Canvas is the University of Minnesota’s official classroom management technology. Assignments will be posted to canvas and the formal gradebook will be the one seen here on canvas.

Accessing Canvas

If you are reading this you have either taken my laptop (give it back!) or are already on canvas.

Gradescope

What and Why? Gradescope is a course management product focusing on assignment submission, efficient grading, and rapid feedback. We will be using Gradescope for most assignment submissions due to it’s high-quality auto-grading and manual grading tools.

Accessing Gradescope

At the start of class I added each of you to the gradescope classes through canvas. You will be able to access gradescope through canvas a few ways. First, when there is an assignment that needs gradescope it should show up inside the canvas page. Secondly (this is preferred) you can click the “Gradescope” button in the navigation links on the right side of canvas. Once you’re logged in through this link you should be able to setup a username and password for logging in directly as well.

Zybooks

What and Why? Zybooks is an online Textbook vendor. Their online textbooks have a good balance of readability, and interactivity that is hard to get from a traditional textbook. Additionally, as a digital textbook, minor editing is possible allowing me to customize coverage to our unique two-programming-language course design. Completion of the interactive elements of the Zybook text will be recorded and required components of this course.

Accessing Zybooks

This semester we are using a canvas-zybooks integration. You will access zybooks through links on canvas, and your grades should be posted automatically. You should be able to get your Zybook code through the CourseWorks program. The first time you log in you may be asked to confirm your email address, after that it will be a seamless “single-sign-on” experience.

Sometimes the grade will not automatically post from zybooks to canvas. In this case I recommend emailing the professor – this can often be quickly resolved on our end.

CSELabs

What and Why? CSELabs is the broad name for a collection of computational resources maintained by the UMN for the Science and Engineering courses. Barring exceptional circumstances, you will be expected to use the CSELabs maintained computer lab in Walter Library 106 for lab.

Accessing CSELabs

Outside of physical access (going to Walter library) To use CSELabs resources you will need to make a CSE Lab Account. This is easy to do online thought the Lab Account request form. You will need to do this if you have not used a CSELab machine for more than one year.

Email

What and Why? Email is the de-facto web-standard electronic messaging protocol. It’s old, it’s reliable, it’s easy to use, and it’s the UMN standard way to communicate privately with course staff.

Accessing Email

I will assume here that you know how to access your U of M email. If you have trouble with that please contact me (over email, office hours, or after class) and let me know and we can work out the details.

Occasionally Professor Picoral might email you if a private conversation is needed. We will assume you see this email in a timely manner (Usually within a day or two).

If you have a general question, The all-staff mailing list is your best bet: csci1913f25-staff@umn.edu However, if you have something more focused on accommodating special circumstances your best bet is to go though professor Picoral at apicoral@umn.edu.

Python

What and Why Python is a popular programming language we will be learning this semester. You will need access to a python interpreter (A program that runs your python programs) Any python version newer than 3.5 should be fine, although we recommend getting the newest possible version. Be aware that your computer may have both python2 and python3 installed, try to make sure you know how to run python3 in particular.

Accessing Python

You’ve got choices here:

  • CSELabs machines have python installed already.
  • Installing Python on your personal computers is 1. Easy, and 2. Recommended. You can download installers at the Python language website for most modern operating systems.

Java JDK

What and Why? Java is another popular programming language which we will be learning this semester. You will need access to a java development kit capable of compiling and running java version 8 or newer. That said, we recommend having the newest version (Java 8 is a relatively old version, but we won’t need any of the more recent features this semester)

The term JDK here refers to the java development kit, it’s an additional download from the JRE (java runtime environment) that you likely already have. Even if you can run java code, you likely still need the JDK to write and compile java code.

Accessing Java

You’ve got choices here:

  • CSELabs machines have java JDKs installed already
  • Installing Java on your personal computer is 1. Easy, and 2. Recommended. You can download installers from various places online depending on exactly which version you want. The most common source, however, is the Oracle java standard edition If you cannot, or will not, install this the openjdk version of java should be fine too.

Zoom

What and Why? Zoom is an online video/voice conferencing technology that the U of M recommends for course use. Zoom will be used for any online office hours that are offered.

Accessing Zoom

For more information on Zoom, setting up zoom, and logging into your university provided zoom account, see The U of M zoom page.

Non-lab CSELab access

What and Why? The CSELabs offer several ways to access outside of your scheduled lab time. This can give you access to required technologies as-needed. Please be-aware as you use this resources that it is a shared resource.

Accessing CSELabs resources outside of class

The CSELab machines are generally available outside of class. You have 3 options for using them:

  • Physically go into one of the CSELab machine rooms. Most labs are available for student use whenever they are not in use for a scheduled class. A list of all CSE computer labs can be found On the CSEIT website. Note, this page lists all labs, but you will probably want to only go to the unix labs. Also make sure to check lab schedules before going so as to avoid interrupting a class.
  • Remotely connect to CSELabs resources. A word of warning here – while this might sound PERFECT on paper – it’s often a bit clunky in practice. If you’re using this also try to see if you can get a personal programming setup working. There are several ways to use CSELabs content remotely the CSEIT website lists these, and has the most up to date information.
    • “FastX3” – this seems to be the newest option so course staff might not have good information on it. This appears to let you remote connect to specific lab machines and interact with them through your browser in a graphical user interface. This should allow you to work on your own machine, but in what is essentially the lab machines’ environment.
    • VOLE VOLE is a web-based remote connection software to connect to a lab machine environment. Like FastX3 this gives you easy access to a lab-like environment.
    • The SSH protocol can also be used to remotely connect to lab machines. This is an old and reliable secure connection tool that essentially lets you open a terminal on a remote machine. Note, this is a non-graphical programming environment, which will not come naturally to most students (and which we won’t expect a lot of background with just yet). A reasonable guide on using ssh can be found here.
    • For all three of these, be aware that while you interact with these from your own computer, they are inherently using UMN resources over the internet. As such these won’t work if your personal internet connection fails. Likewise, remember that these are shared resources with all other CSE students, so it’s not abnormal for the service to degrade from time to time as large courses have major deadlines. We will do our best to be understanding if these services fail, but ultimately cannot accept “VOLE is down” as an excuse for anything more than a minor extension (long enough to wait for it to come back and turn in what you had done already)

VS code and IntelliJ

What and Why? Visual Studio Code and Intellij are popular and well regarded IDE (Integrated development environment – think “fancy text editor designed to make life easy for programmers) – Intellij is java specifically, and you will be using it for future classes. They are both developed by the same software vendor, so once you get used to one for python it should be easy to switch to the other for java. Both programs come in a”community” and “ultimate/professional” edition. The community edition is completely free – this is good enough for our class. Students can often get access to the professional/ultimate edition using their school email address.

Accessing IDEs

The IDEs can be downloaded and installed from their website:

They will also be available on CSELabs machines.

Do I have to use VS Code and IntelliJ?

No – you can use whatever IDE you want. Make sure, however, that you’re using SOME full-featured IDE. Coding (especially in java) without tool support is uncommon, and tends to be slow and buggy. Assignments are designed with programmers making good use of tool support in mind, and if you’re doing without you might find the assignments a bit on the long side at times.