CS314 Startup - Things to Do

Syllabus Read the syllabus. Post questions to the Ed Discussion group.
Generative AI Use Acknowledgement Download, print out, read, think about, fill out (name, UTEID, initials, signature, and date) and turn in your completed acknowledgement to Professor Scott before or after lecture or in help hours. Your programming assignment grades shall be 0 until this is completed and turned into Professor Scott.
Exam Dates Place the dates and times for exams 1 and 2 on your schedule. Exams 1 and 2 are given outside regular lecture hours. Exam 1 is Thursday, September 25, 6:45 - 9:15 pm and exam 2 is Wednesday, October 29, 6:45 - 9:15 pm. If you have a valid academic conflict (lecture for another class, lab, or exam in another class) email Mike at scottm@cs.utexas.edu ASAP to set up an alternate time.
Ed Discussion Verify you can access the course Question and Answer tool, Ed Discussion via Canvas. Canvas -> CS314 -> Ed Discussion. Post your questions regarding the course content and logistics to Ed Discussion.
Instapoll Every lecture there will be an Instapoll question. Instapoll is a tool created at UT for in class polling. (Originally created to obviate the need for students to by another physical device such as iClickers.)

Verify you can access UT Instapoll with the mobile device, laptop, or tablet you plan to use in lecture before the first lecture. Access Instapoll via Canvas -> CS314 -> Instapoll. A sample question shall be running the week before class starts so that you can test out your system.

Gradescope Familiarize yourself with Gradescope. You shall use Gradescope to turn in assignments.

Just like UT Instapoll, access Gradescope via the given programming assignment page on Canvas. Do NOT create a separate Gradescope account. Use the one created automatically via Canvas. Failure to use the Canvas generated account may result in your programming assignments not being graded.
Content The class topics and content are available on the course schedule. I strongly suggest you take notes in class. I strongly suggest using  a tablet OR print out the slides for the topics we cover. The slides are on the course schedule in PowerPoint and PDF format. The  slides are essentially my notes on what to cover. We will also develop and test code in class. (Live Coding) You mileage may vary, but I believe the best approach is to load the slides on a tablet OR print out the slides before class and annotate them as we cover the material. I have seen students use tablets such as iPads to great effect, annotating the slides using their tablet. I also recommend you write down the code we create together in class.
Textbooks Decide if you want the optional textbooks listed on the syllabus.
Java Download the Java SE Development Kit. You can download Java 8 from Oracle or more recent versions from the OpenJDK project. In CS314 we shall limit ourselves to the features of Java version 8.0
IDE Pick and set up an IDE. (Interactive Development Environment. A program that helps you write programs.) I do not prescribe the IDE you must use in this course as you are simply turning in .java files that must compile on the CS department lab machines.

I use Eclipse, more due to inertia than anything else. Some past students prefer IntelliJ. (Scroll down for the free community edition.) Some students will tell you "real programmers only use a text editor and the command line!" I respectfully disagree. I think IDEs offer valuable tools beyond a basic text editor and the command line, but it IS VITAL as a CS major to learn to interact with a computer system via the command line as you will see in CS429.

Note, you can use the simple autocomplete feature many IDES use for which method to call. (Selection an option from a pop up list.) You may NOT use an AI coding assistant in the IDE such as Copilot when completing programming assignments. Doing so is against the course rules and an act academic dishonesty in CS314.
Class Web Page Familiarize yourself with the class web page. Especially the syllabus, the schedule, and the programming assignments guidelines. Start on assignment 1.
Background Survey Complete the background survey on Canvas. Due by 11:01 pm on Friday, August 29.  This is worth 10 points.
Syllabus Quiz Complete the Syllabus and Course Logistics Integrity Quiz on Canvas. Due by 11:01 pm on Wednesday, August 27. You may refer to the course materials (but not other students) as you take the quiz. You may take the quiz as many times as you like.
Academic Integrity Complete the Academic Integrity Quiz on Canvas. Due by 11:01 pm on Wednesday, September 3. You may take the quiz as many times as you like. You may use the materials posted on the Canvas page for the quiz. You must get a perfect score on the quiz OR your score shall be set to 0. Again, you can retake the quiz until you get a perfect score.
   
OPTIONAL - CS Department Account, Checking you Code on a CS Department Machine Set up your UTCS account. (Note, new accounts may not be available until after classes start on August 25) If you had a CS account last term your account should be recreated automatically. The CS departmental machines are use the Linux OS. Here is a simple guide to some of the features of Linux.

Assignments must compile and run in the Gradescope environment set up for each assignment. This is very similar to the environment on the CS department lab machines. We will not use any IDE when grading. Programs are run from the command line. To ensure your programs work you can transfer your source code (.java files) to your CS department account and then compile and run them from the command line. Many ways to transfer code to a CS machine. USB drive, email yourself (face-palm), logging into CS machines remotely to transfer and run code. See this handout for more help on the remote option. Connecting to a CS public machine remotely, " SSHing", requires you to set up SSH keys on your remote system (laptop, desktop) and your CS department account. See this page for help with Windows and this page for help with Linux and Macs.

A list of CS machines you can log into remotely. (This may be useful if you want to test your programs under the same environment we shall test them under.)

Another set of Instructions on how to connect to the CS machines remotely via SSH.

Yet Another set of instructions.


I have a a Windows machine and use Putty to connect to CS department machine's remotely and use the command line. I use WinSCP to transfer files to and from the CS department machines remotely. The department has instructions on how to set up and use Putty with SSH keys. The department also has instructions on how to set up WinSCP with SSH keys.

You can of course use whatever tools you want.
OPTIONAL - Inspirational If you have a couple hours and want to be inspired by a great computer scientist watch The Last Lecture, by Randy Pausch. You may notice I have adapted many of Randy's ideas and sayings. Note, Randy's demonstration of a virtual world from his students near the end of the lecture is a little disconcerting.
OPTIONAL - Ideas on How to Approach Programming So You Want to Be a Wizard (pdf) - By Julia Evans