Skip to main content

CSC 151.01, Class 55: Recap

Overview

  • Preliminaries
    • Notes and news
    • Upcoming work
    • Extra credit
    • Questions
  • About the final
  • The subject matter(s) of the course
  • More about the subject matter(s)
  • Looking beyond the course

News / Etc.

  • Sit whereever you’d like.
  • Quizzes returned (provided I remember to bring them).
    • I seem to have forgotten quiz 11.
  • Please turn in cover sheets to class mentors.
  • This week
    • Today: We talk about the final and the class as a whole.
    • Friday: You fill out end-of-course evaluations and get your final PSA. Those who want to stay go over the sample final.
  • If you cannot make Friday’s class, please remind me at 9:35 and I’ll have you fill out the EOCE in another room.
  • Sample final available on the Web site.
  • Thursday a.m. review session will be a chance to ask about the final.
  • Thursday 7:30 p.m. review session: Final
  • Next Wednesday, 7:00 p.m. and 8:00 p.m. review session: Final
  • I hope to have all grades to you by next Monday.

Upcoming Work

  • Exam 4 epilogue due TONIGHT.
  • Optional Final Thursday at 9am, Friday at 9am, or Friday at 2pm.
    • Let me know by Wednesday if/when you plan to take the exam.

Extra credit (Academic/Artistic)

  • CS Extras, Thursday: Exploring Algorithms with Design and Analysis Techniques.
  • CSC 322 presentations, Friday, 1:30-3:30 p.m., Science 3819.

Extra credit (Peer)

  • Baseball, Friday, 9:00 a.m.
  • Baseball, Friday, some other time tbd. (1:00 or 4:00; we’ll assume 4:00)
  • Thurday 8pm Cranky Cosmos show. Some microgenre of low-energy indie NYC pop-rock.
  • A cappella smackdown 4pm Monday. Bucksbaum Rotunda.

Other good things to do

  • It’s week 14. Take good care of yourselves.

Questions

Will you really let us miss Friday’s class to support the Baseball team?
Yes, provided you fill out the EOCE today.
Do you really think you’ll have grades done by Monday?
I’ll do my best.
Can we see the other class’s projects?
Sure.
Can I add an extra-credit ting
Sure.

About the final

  • Four problems. Hard Long quiz problems.
  • Broad-stroke grading. Four mostly right: A. Three mostly right: B. Two mostly right: C. One mostly right: D. None mostly right, but attempted, F.
  • Closed book, open sheet of hand-written notes.
  • Best ways to study:
    • Write a review sheet.
    • Write your own sample problems.

The subject matter(s) of the course

  • Problem Solving. Given a certain class of problems, how do you think more carefully about what the problem statement is, how do you write instructions that someone could use to solve the problem, how do you assess those solutions.
  • Computer Science: Algorithms and Data Structures. The core of our discipline. How we put data together. How we work with data. Some classics.
  • Scheme. The programming language that undergirds the rest of the work.
  • Program and Software Design. How to build software, or build better software, or how others build software.
  • General Thinking Skills. Skills/approaches that you can apply in other situations.
  • And Beyond. The class can provide life lessons. (Please stop laughing now.)

More about the subject matter(s)

Think: Take five minutes and write down two or three or five (but not four) entries for each of the following (other than those I’ve listed).

Pair: With the person or persons next to you, pick your *best* answer for each category.

Problem Solving

  • Thinking carefully about the problem spec: What are the inputs and outputs. What do we require, what can we guarantee?
  • Try multiple approaches to each problem; don’t fixate on one approach.
  • Um - Use mind
  • Think about how you would do something, then think about how you would formalize it for others who might not think the same as you.
  • Consider efficiency. You may have multiple correct solutions, but you also want to be able to complete them in a reasonable amount of time (unless completing them turns out to be a lot of fun and you are paid hourly)

Computer Science: Algorithms and Data Structures

  • Core data structures: Lists, trees, vectors
  • Consider efficiency.
  • Think about how the way you’ve organized or stored the data affects the algorithms you can write.
    • E.g., binary search is only possible in a sorted vector
    • Lists encourage you to go through element at a time.
  • Recursion: A way to go through lots of elements.
  • Think about types (e.g., for your parameters)

Scheme

  • Assocate a name with a value using define
  • RackUnit
  • Syntax: Embrace the parentheses!
  • A completely new way to think, even if you’ve programmed before.
  • Reading files
  • How to build lists, vectors
  • Approximately 823.5 different procedures
  • Approximately 18 types

Program and Software Design

  • Importance of testing and some strategies for testing.
  • Consider efficiency
  • Think about edge cases: What are weird inputs going to do to your code.
  • Build complex images using simple techniques. (Empowerment.)
  • Clear documentation helps yourself and your fellow programmers.

General Thinking Skills

  • Working with others
  • Expanding how you explain things.
  • Know when to take a break.
  • It’s okay to ask for help.
  • You can (must?) combine different skills to handle larger projects
  • Know what you are able to do and work with that.
  • “Thinking on your feet” How to deal with strange unexpected questions promptly. Sam says: “The ultimate outcome of a strong liberal arts eductation is the ability to bullshit clearly and compellingly about any topic you are asked about.”

And Beyond

  • “There’s more to life” than any academic discipline.
  • Know the planning fallacy: Things always take longer than you predict, even if you know that things take longer than you predict.
  • Correct spelling is optional, but only for those in power.
  • Professors have lives too.
  • You’re stuck with the professor you have. Deal with it. (Different professors do things differently.)
  • It’s okay to ask for help!
  • Good humor is helpful. (Bad humor is painful.) (Sorry that you got more of the latter than the former.)
    • “When things go wrong, laugh.”
  • You have awesome classmates who do great things. You should support them.
  • The College (and the broader world) provide a wide variety of fun and challenging artistic and intellectual opportunities; take advantage of them.
  • Care about the people around you. And demonstrate it by making fun of them.

Looking beyond the course

There probably won’t be time for this section.