600.105 M & Ms
(the CS freshman experience)
Spring 2017

Meetings : Tuesdays, 4:30-5:20p, Hodson 210
Course Coordinator : Prof. Joanne Selinski
Course Web Page : http://www.cs.jhu.edu/~joanne/cs105/spring17.html

Overview: This course provides freshmen computer science majors with an introduction to the field and department. A variety of faculty members will provide a mix of historical context and current topics. Classes will be interactive, enabling students to think about and explore topics in a fun way, as well as get to know their classmates. CS non-freshmen and minors may enroll by permission only. Satisfactory/Unsatisfactory only.

Grading: Even though the course is graded S/U only, there are specific requirements you must meet in order to pass the course. Grades will be assessed as follows:

Text: The term reading for this year will be decided by the students in the first week. There are two options with very different flavors:

  1. "Kicking Butt in Computer Science: Women in Computing at Carnegie Mellon University", Carol Frieze & Jeria Quesenberry, 2015 (Amazon)
  2. Two books offering somewhat opposing perspectives on data mining and machine learning. You will be expected to read, write about and discuss both of them if this option is chosen.

And the winner is.. Big Data - option 2 (by a 21 to 17 vote).

Recommended Reads: There are several other books that may be of interest to you as CS majors and we encourage you to explore them, now or later; just do an internet search for sources. Some of these were used in prior years' M&Ms course.

Lecture Schedule: This table of topics and references will be updated as the semester progresses.

DateSpeaker/TopicReadings
1/31 Joanne Selinski: Introductions & Course Overview (term read tbd)
2/7 Russ Taylor: Medical Robotics reading, also available at this link
2/14 Yair Amir: Networks internet history, routing, protocol1, protocol2, protocol suite, sockets
2/21 Scott Smith: Early Microcomputers wiki article
2/28 David Yarowsky: Deciphering Foreign Language reading (for during/after class)
3/7 Mike Schatz: Big Data: Astronomical or Genomical? reading
3/14 Vova Braverman: Randomized Algorithms and their applications to Big Data Read the prefaces: reference 1, reference 2
3/21 Spring Break (don't forget to start the term reading)
3/28 Avi Rubin: Security of the Internet of Things report
4/4 Ben Langmead: Pattern Matching tutorial
4/11 Ilya Shpitser: Causal Inference reading and optional (advanced) reference
4/18 Jason Eisner: Simulation Podcast
4/25 Abhishek Jain: (Zero) Knowledge slides
5/2 Term Book Discussion: Big Data Paper due on Blackboard by class time! discussion questions

Computer Science Academic Integrity Code:

Cheating is wrong. Cheating hurts our community by undermining academic integrity, creating mistrust, and fostering unfair competition. The university will punish cheaters with failure on an assignment, failure in a course, permanent transcript notation, suspension, and/or expulsion. Offenses may be reported to medical, law or other professional or graduate schools when a cheater applies.

Violations can include cheating on exams, plagiarism, reuse of assignments without permission, improper use of the Internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition. Ignorance of these rules is not an excuse.

Academic honesty is required in all work you submit to be graded. Except where the instructor specifies group work, you must solve all homework and programming assignments without the help of others. For example, you must not look at anyone else's solutions (including program code) to your homework problems. However, you may discuss assignment specifications (not solutions) with others to be sure you understand what is required by the assignment.

If your instructor permits using fragments of source code from outside sources, such as your textbook or on-line resources, you must properly cite the source. Not citing it constitutes plagiarism. Similarly, your group projects must list everyone who participated.

Falsifying program output or results is prohibited.

Your instructor is free to override parts of this policy for particular assignments. To protect yourself: (1) Ask the instructor if you are not sure what is permissible. (2) Seek help from the instructor, TA or CAs, as you are always encouraged to do, rather than from other students. (3) Cite any questionable sources of help you may have received.

On every exam, you will sign the following pledge: "I agree to complete this exam without unauthorized assistance from any person, materials or device. [Signed and dated]". Your course instructors will let you know where to find copies of old exams, if they are available.

For more information, see the guide on "Academic Ethics for Undergraduates" and the Ethics Board web site (http://ethics.jhu.edu).