CS112 - Data Structures



25SP LABS

Prof. Norman and Prof. Araújo

Welcome to CSS112 Labs!

Have a seat, make sure you are booted to Linux, and log in with your Calvin username and passphrase. (ex: abc2 / passphrase)

Find a pair to work with during this lab session.

About Prof. Araújo

.

Prof. Eric Araújo was born in Brazil, where he was a Professor for 13+ years before joining Calvin University last summer. His research interest lie in Cognitive Modeling. He got his PhD from the VU Amsterdam (The Netherlands), where he met his wife, Amy. Prof. Araújo loves board games, C.S. Lewis and his beloved soccer team, Cruzeiro.

About prof. Norman

.

Prof. Victor Norman has been teaching CS112 for about 5 years. His research interests lie in Pedagogical best practices and integrating faith and computer science. For fun, he writes code! He also enjoys playing his euphonium in the Calvin Symphonic Band and Burton Street Brass quintent.

Timeline of the labs

  • Whoever invented knockknock jokes…
  • Deserves a no-bell prize.

Pair Programming

You are required to use Pair Programming techniques.

These techniques are used in Software Engineering industry as best practices for creating higher-quality code with less errors than single-person programming. Plan on working with the same partners for ~3 weeks before we will change partners.

Basic concept:

  • Person 1 sits at the keyboard and does the typing
  • Person 2 tells the person at the keyboard what to type
  • Switch after 10-15 minutes.
  • Talking tells me this is working. ;) Crickets chirping tells me it isn’t working.
  • One person will submit your code for both to Github.

What else do you need to know…

Grades: Your CS112 lab grade is the SAME as your CS112 lecture grade. Prof. Norman and Prof. Araújo will give the grade to you at the end of the semester. Everything should be submitted via Github. Labs are due Thursday night by 11:59pm. Projects are due Monday night by 11.59pm

What else do you need to know…

Study Sessions! Monday and Thursday 7:00pm-9:00pm in SB337 Lab! Upper-class CS/DS students can help with any questions you have on labs, homeworks, etc.

What else do you need to know…

Labs SB354, SB372 and SB337 can be used anytime for lab work and homework if there isn’t a class there! These labs dual boot between Linux and Windows; you will utilize Linux for this class. You may also complete the whole class using your own laptop – see Moodle for setup instructions.

What else do you need to know…

Getting to know each other better: I’m available for a coffee if you want/need to discuss anything related to the course, or soccer, or the weather, or theology, or board games. I mean, feel free to schedule with me to have some time together. Don’t be afraid of asking for help if you are struggling with anything.

Calvin University is committed to offering free tutoring for most 100 and 200 level courses. Tutoring is a weekly one-hour commitment for the duration of the semester. Tutors at Calvin have been recommended by faculty members, have successfully completed the course, and have completed extensive training on student learning practices provided by the Center for Student Success. These are held from 7-9pm on Monday & Thursday in Science Building Lab 337, beginning on January 27, 2025, and offer you 4 hours of help each week.

Academic Integrity

Yes, there is academic integrity in coding! And yes, it is super easy for your professors to detect if you copy code from the web. (Remember, some/most of your professors are older than Google. That means we’ve had a LOT of practice finding stuff on the web.)

Can you use code from the web? Yes. Make sure you cite it appropriately in comments. Do I recommend it? Maybe. If you can’t understand the code that you copy, it may not be wise to use it. You may have unintended consequences for using a bit of code you don’t understand…

Academic Integrity

Overall, all code that is pair programmed should be marked appropriately - the author’s name, email address, and date of programming. You should not claim other author’s code as your own. Appropriately cite any code you take from the web, and make it clear what is your code and what is copied code.

This is especially important for resources such as ChatGPT! Part of using code generated by ChatGPT is linking the source conversation.

Side note: any code you submit for labs/projects/etc should be able to be 100% understood by yourself and others!

CRA Annual Survey for students

Five hundred $25.00(USD) Amazon gift cards! 25 minutes to complete.

Deadline: 01/28

Five Commitments for the Semester

  1. Teach I will do my best to teach you what you need to succeed in this course. Sincere feedback is always welcome.
  2. Build relationships I hope to get to know you better as we progress in the course, and to support you in your faith and intellectual journey.
  3. Availability I’ll be available to have some coffee while answering your questions.
  4. Encouragement I will encourage you to persist when stuck in your assignments, and I won’t give prompt answers so you have the opportunity to overcome your challenges.
  5. Learn I will aim to learn from all of you. I count on you for this one. Please share.

“Imagine yourself as a living house. God comes in to rebuild that house. At first, perhaps, you can understand what He is doing. He is getting the drains right and stopping the leaks in the roof and so on; you knew that those jobs needed doing and so you are not surprised. But presently He starts knocking the house about in a way that hurts abominably and does not seem to make any sense. What on earth is He up to? The explanation is that He is building quite a different house from the one you thought of - throwing out a new wing here, putting on an extra floor there, running up towers, making courtyards. You thought you were being made into a decent little cottage: but He is building a palace. He intends to come and live in it Himself.”

C.S. Lewis | Mere Christianity

Lab 00