A290/A590
C and Unix
Main Menu

A290/A590
Tools for Computing:
System Programming with C and Unix.

image

"That's one small step for [a] man, one giant leap for mankind"

July 21, 1969

image

Instructor: Jeff Whitmer

Jeff Whitmer

  • My Office: Luddy Hall 2050 (IF2050).
  • Office Hours:

    • Monday/Wednesday: 8:00 - 9:00am. Appointments also available.


    • Office Hour Special NOTES:
      • Any changes to my office hours will be posted here.

        • Tuesday, January 14, 2025 FIRST DAY THIS CLASS MEETS.

        • Monday, January 20, 2025: Martin Luther King Jr. holiday. IU CLASSES DO NOT MEET.

    • Luddy Hall 2050 (IF2050) Office Phone: 855-3974.
    • E-mail: jwhitmer@indiana.edu.

Meeting Times:

Spring Semester 2025:

MEETINGS: Tuesdays and Thursdays:, 9:35am - 10:50am (Sections 4805, 6032)
Miles Brand Hall I W109

image

animated GIF

Important Updates for All Students
enrolled in Spring Semester 2025:
[LAST UPDATED: 3/6/25]

image

  • Your overall Canvas averages for "Attendance" are confirmed accurate. For "Attendance" there were 16 possible class meetings. This includes the three days I was ill where everyone was counted present (if you had not missed the meeting before or multiple meetings earlier in the term). If you had an excused absence, either with documentation, or as your one allowed "PTO" day (see Course Guidelines), it counted neither for nor against you. The class Attendance average was 86.67%, with 3 100s, 1 in the 90s, 1 in the 80s, 0 in the 70s, and 2 in the 60s. As previously noted in class, if your attendance average is low, you should not expect a high "ACTIVE Course Engagement" score when those are posted next Monday. The Averages on Canvas are correct, but rounded. In my records, they are stored to six decimal places for greater accuracy. This means your "92" on Canvas could well be a 92.31 and your "87" on Canvas could well be an 86.67. Canvas rounds up or down for Attendance, but I will not when calculating the final averages.

    PLEASE NOTE: If you have any questions about your Attendance or your MINIU/JIT/CAT averages, you must contact me by 3pm tomorroe, Friday, March 7, 2025. While I will not be able to reply, I will consider your request or answer your question, if it arrives by this deadline. After that, these averages will be final and official.

  • Your overall average for "MINI/JIT/CAT" on Canvas confirmed accurate: Since today's CAT was our last one, your overall average for "MINI/JIT/CAT" is now final and confirmed accurate. Keep in mind these various overall averages carry different "weights" in determining your final average for the course. You can review those "weights" on the "General Course Information" page. There were 3 MINIs (15 each), 4 JITs (3 each) and 4 CATs (10 each) for a total of 97 possible points. The course average on these was 70.84%. ALSO NOTE: I did my best to point out on the first day that if you missed one MINI or one CAT or a couple of class meetings, each was worth a small enough part of your final grade it wouldn't make a difference. HOWEVER, I also said that if you missed several MINIs and/or several CATs and/or many classes, it would definitely have an impact. For a few of you, this turned out to the be the case. There was 1 average in the 90s, 1 in the 80s, 2 in the 70s, 2 in the 60s, 0 in the 50s, and 1 below 50.

  • Homework PROGRAM 4 Scores and Program AVERAGE confirmed accurate and emails on the way: Scores for Program 4 are posted and everyone should receive an email with the details of their Program 4 scores by the end of the day. Overall, another outstanding set of submissions, as is expected of the Programs we work on together. A few had very simple errors, some were challenged by the struct for person and how to apply it in an array, others by applying the linked list within the larger single file with function prototypes. The overall average on Program 4 was 97.40%. 2 scored 100, and 3 in the 90s. REMEMBER, Individual Homework ASSIGNMENT 4 is this due Friday, 3/7/25, before midnight. PROGRAM 4 was worth 100 points, in case that is not clear on Canvas.

    The course average for the Programs was 82.36%. There were 0 averages of 100, 4 averages in the 90s, 1 in the 80s, 0 in the 70s, 1 in the 60s, and 1 below 60, due to primarily to missed work. While we have shared most of the code in this course for the PROGRAMS, this is still an excellent performance for the class as a whole. Good work!

    I have confirmed the PROGRAMS average shown in the Canvas Gradebook for each student matches my records.

  • Individual Homework ASSIGNMENT 3 Scores posted and emails on the way, partial solutions posted: Scores for ASSIGNMENT 3 posted and everyone should receive an email with the details of their ASSIGNMENT 3 scores by the end of today. Overall, a very good set of submissions for what can often be a very challenging assignment. The average was 98.33%, meaning there was a 7% point improvement over ASSIGNMENT 2. Great job! There were 4 100s, and 2 in the 90s. One student did not successfully submit ASSIGNMENT 3 and was not included in this average.

    I have posted some partial solutions of different ways to complete the "showbits" part of A3 directly below the link to the assignment on the Homework Page. This continues to be the part some students find most challenging. I would also note that a few of you either forgot or overlooked the left and right logical shift operators "<<" and ">>" and created a good deal of extra work for yourselves on some of the functions. As long as your output was correct, there was no penalty other than your extra work.

  • Individual Homework ASSIGNMENT 4 and ASSIGNMENT 4 SAMPLE EXECUTABLES NOW AVAILABLE: This is an Assignment, meaning you will be figuring out how to write the code to solve each of the described problems. You will find it in the "Individual Homework ASSIGNMENT Descriptions" section of the Homework Assignments page [at the bottom]. We will look at this during our first meeting this week, i.e., Tuesday, and again Thursday, if needed.

    Individual Homework ASSIGNMENT 4 is due by 11:59:00.00PM (SHARP) on Friday, March 7, 2025. This is the last day of the 1st 8-weeks.

    I realize I am posting this before Homework PROGRAM 4 is due, which is due tonight, Sunday, by 11:59pm. I'm doing this so you will have access to it as soon as you wish to begin working on it. I also want to be able to make some comments about it in class Tuesday and run the two sample binaries. We will do the same on Thursday, so you have two opportunities to see the binaries and ask questions.

    It is up to you to create the primary menu system that allows me/us to choose between the Cricket and Linked List functions. NOTE IN PARTICULAR the requirement that you both USE FUNCTIONS where ever they can be applied AND PROTOTYPE EVERY FUNCTION that you use. There has sometimes been confusion about this for ASSIGNMENT 3 and I want to be sure it is absolutely clear here for ASSIGNMENT 4. You should know what a function is and how to apply one. You must apply functions anywhere they can be applied and you must prototype all the functions. Avoiding the use of functions and/or their proper prototyping will result in a very substantial penalty on Individual Homework ASSIGNMENT 4. You will not only lose all 10 points for the features of your main(), but you will lose 10-20 for each of the two main tasks, since you will not be using proto-typed functions to solve the main problems. Please be sure you are clear about this before our last day of class on 3/6/25.

    I have also posted separate sample executables for the two primary functions you will be submitting together in a single file for ASSIGNMENT 4. BE SURE you read the instructions/comments (same as for Assignments 1 thru 3) before you try to copy/download the executables. As before, you will most likely have to save it to your local HD, and then use something like WinSCP to get it to your silo account. Be aware of the permission and name issues that can occur if you are not careful.

  • Weekly Readings updated: I have updated the Weekly Readings page for the remaining weeks for the course. Everyone would benefit greatly by reading at least part of Hoover's Chapter 4 before next Tuesday's class on 2/18/25, and certainly by Thursday, 2/20/25.

  • AI contact information and preferred appointment times now available. You will now find the contact information and preferred appointment times for the AIs in A290/A590 C/Unix, Nikhil and Sreya, are on the Course website Homepage just below the section with announcements. Please note that "preferred appointment time" means just that. These are the times it is the most likely each of them will be able to meet with you to answer questions that cannot be answered electronically. I do not ask them to hold office hours, as that is not a very effective use of their time. If you have a question about an Individual Homework PROGRAM or ASSIGNMENT (with restrictions), you are welcome to contact either of them to set up an appointment either in person or virtually. Keep in mind we expect appointments to be kept and a missed appointment without notice may impact your options for future appointments. We will discuss this further in class today.

  • Gentle Reminder: Only "@iu.edu" email addressed accepted. Just a gentle reminder that all direct digital communications for this course need to be from your "@iu.edu" email address to one of our "@iu.edu" email addresses (depending on the situation). Email from any other address domain as well as Canvas messages will be filed as "Junk" or "Trash." Please be sure you are clear about this and contact me if you have questions.

image

Graduate Associate Instructors, Spring 2025:


Sri Sai Sreya Sadasivapetkar

Sri Sai Sreya Sadasivapetkar

Email: ssadasiv@iu.edu

  • Office Hours/Appointments: Usually part of class meeting time. Appointments also available and strongly encouraged.
    PREFERRED Appointment times:

  • Thursday: - 1:00pm - 3:00pm and Friday: 10:00am - 12:00pm

Nikhil Sai Jaddu

Nikhil Sai Jaddu

Email: njaddu@iu.edu

  • Office Hours/Appointments: No formal office hours. Preferred appointment times available and appointments strongly encouraged.
    PREFERRED Appointment times:

  • Monday: 3:00pm - 5:00pm and Tuesday: 1:00pm - 3:00pm

image