Difference between revisions of "CS 500 Midterm"

From Computer Science
Jump to: navigation, search
(Midterm Exam, part 1)
Line 1: Line 1:
 +
For [[CS 500]]
 +
 
This page contains information about the midterm exam for CS 500.  The topics for the midterm are - C programming, basic data structures (arrays, linked lists, hash tables, binary search trees).   
 
This page contains information about the midterm exam for CS 500.  The topics for the midterm are - C programming, basic data structures (arrays, linked lists, hash tables, binary search trees).   
  

Revision as of 17:23, 6 December 2022

For CS 500

This page contains information about the midterm exam for CS 500. The topics for the midterm are - C programming, basic data structures (arrays, linked lists, hash tables, binary search trees).

Midterm Exam, part 1

Part 1 is in Canvas. This will be timed and must be taken in one sitting. You will have 90 minutes to complete it.

It is open notes, open internet, but you cannot talk to others about the questions (cannot talk to anyone - not others in the class, not the GAs, not random other people). This is the same as for Canvas quizzes we have had for the class.

Auto-graded parts that you will be able to practice ahead of time.

  • See here for practice versions of these, at the bottom of the page.
  • C quizzes - C Operators and Expressions, C Keywords and Data types
  • C
    • Play computer - what are the values of variables after a chunk of code runs
    • Fix errors - fix syntax errors, logical errors, memory leaks, buffer overflow
    • Fill in the blank - what value or statement to put in to complete a piece of code
  • Data structures - given a data structure and sequence of operations, what does it look like at the end.
  • Data structures - running times (worst-case, best-case, average-case) of data structure operations.

Non-auto-graded parts

  • C code for an operation for one of the data structures we have done in class (ArrayStack). It will be something similar to one of the operations we have done, but not exactly the same.
    • Examples: determine if the arraystack is in sorted order, print out just the nodes with count at least some amount, append one arraystack onto another, merge two sorted arraystacks into a new arraystack (which will be in sorted order), reverse the arraystack. In general - looping through the arraystack and possibly making modifications.
  • C code for a program to do some basic task (similar to the basic C programs we have done in class and on homework).
    • Examples... Take input from stdin that is assumed to be in csv format, compute the average of the third column. Take command-line arguments and determine if they were given in alphabetical order. First command-line argument as a word, second is the name of a text file, determine if the word is in the file. In general - can read command-line arguments, stdin as words, stdin as lines, split into tokens, nested loops/ifs, structures, memory/pointers.

Midterm Exam, part 2

Part 2 is an interview. You will sign up for a 30 minute meeting slot with the instructor. You will be asked the following.

  • Programs from HW assignments (up through h3) - may be asked to open one of your programs and explain how it works. Probably will pick one that you did get full points on, and one that you did not get full points on.
  • Program - may be asked to create a new program from scratch, something similar to HW assignments but different. Example questions - similar to short answer / essay questions from canvas exam.
  • Data structures - may be asked to explain some of the data structures operations - how it works, what the running time is.