Meetings : | Tuesdays, 4:30-5:20p, Shaffer 303 |
Primary Instructor : | Prof. Gregory Hager |
Course Coordinator : | Prof. Joanne Selinski |
Course Web Page : | http://www.cs.jhu.edu/~joanne/cs105/fall14.html |
Overview: This course provides freshmen computer science majors with an introduction to the field and department. Classes will be grouped into several blocks with presentations by different faculty members, each focused on a central theme. Lectures will be interactive, enabling students to think about and explore topics in a fun way. Transfers into the major and minors may enroll by permission only.
Grading: Pass/Fail is the only grading method available for the course. Attendance is required. Students are expected to actively participate in each session. There will be readings and quizzes periodically throughout the course. You will also read a book related to the discipline and write a 2-3 page paper on it, due the last class day (12/2).
Text: The book for 2014 is "The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition" by Frederick P. Brooks, Jr, Addison-Wesley, 1995. It is freely available on-line through the MSEL (http://proquestcombo.safaribooksonline.com/0201835959), or you are welcome to purchase a paper copy. (We did not request the bookstore to stock it.)
Date | Topic | Readings |
---|---|---|
9/2 & 9/9 | History of Computing [slides] | Alan Turing, see the slides for lots more! |
9/16 Break-outs |
A) Jason Eisner: Computers & Thought AI was one of the earliest goals of CS. The first electronic computers, despite their minuscule computational power, were immediately dubbed "giant brains." They inspired humans to wonder: Are our own minds merely executing some kind of program? And if so, will artificial intelligence ultimately be possible? We'll discuss human activities that might seem to require intelligence. Can you guess which ones proved easiest to program? How did those programs work -- and were they really "thinking," or just faking it with cheap tricks? |
|
B) Michael Dinitz: P vs NP: Philosophy and Mathematics
P vs NP is probably the most important open question in all of computer science. It is also one of the seven Millennium Prize problems in mathematics, meaning a solution is worth a $1 million cash prize. While defined in its modern form in the early 1970's, in the late 1980's an old letter from Godel to von Neumann was found in which Godel laid out the basic ideas behind the P vs NP problem, and some of its implications. Most important to Godel was the question of whether "the mental work of a mathematician concerning Yes-or-No questions could be completely replaced by a machine." We will examine the P vs NP problem from a high-level point of view, with a particular emphasis on its implications in mathematics (can all proofs be found by computer?) and philosophy (can creativity itself be automated?). |
Letter from Godel to von Neumann, Article by Hartmanis about it | |
C) Randal Burns: The (First) Big Data Revolution 1880-1956 On May 1, 2014, the Office of the President of the United States announced "While big data unquestionably increases the potential of government power to accrue unchecked, it also hold within it solutions that can enhance accountability, privacy, and the rights of citizens. Properly implemented, big data will become an historic driver of progress, helping our nation perpetuate the civic and economic dynamism that has long been its hallmark." Such a statement would be more accurate and pressing in 1914 than 2014. This session will explore the first big data revolution driven by new storage technologies developed in the late 19th century. We will examine technological developments and they shaped the geo-political landscape of the 20th century, such as Prohibition, the Great Depression and the Holocaust. |
Tabulator, Punchcard | |
9/23 & 9/30 | The Information Age [updated slides] | Net Neutrality: article 1, article 2 |
10/7 & 10/14 | Deconstruction [lecture slides] | iPad Briefing, Google search deconstruction |
10/21 Break-outs |
A) Yair Amir: From
Overlays to Clouds: Inventing a New Network Paradigm
The Internet presents compelling reach, cost and capacity properties that drive more and more forms of communication to use it as their network of choice. These properties stem from a few core design principles underlying the Internet, such as best effort packet switching and routing, and end-to-end reliability, congestion control and addressing: in essence, keep it simple in the middle and smart at the edge. New applications bring new demands that clash with the core principles: high performance reliability for large file transfers; low latency interactivity for VoIP calls; point-to-multipoint reliable transport and delivery for live TV; “perfect” reliability and timeliness for remote surgery and remote manipulation; and intrusion resiliency required by clouds, SCADA, and other critical infrastructure systems. This session surveys a decade-long journey developing the “right” network paradigm to address the new demands. We present the overlay architecture and associated protocols that were invented along the way, moving more of the intelligence to the middle of the network. The architecture is implemented by a flexible, software-based overlay router that is augmented with protocols tailored to new demands, while using the Internet as is. We discuss a reliable protocol that dramatically reduces average latency, a second protocol tailored to VoIP, and a third protocol tailored to live TV. A new cloud networking service actualizes this network paradigm at scale. Having been deployed globally over the last two years, this service is already changing the world of live TV transport and delivery. |
slides, YouTube video |
B) Xin Li: Randomness and Computation
"God does not play dice"---Albert Einstein.
|
Articles: Use of Randomness in Computation, Randomness and Computation | |
C) Russ Taylor: Medical Robotics
This session will discuss ongoing research at the JHU Engineering Research Center for Computer-Integrated Surgical Systems and Technology (CISST ERC) to develop computer-integrated interventional systems (CIIS) that combine innovative algorithms, robotic devices, imaging systems, sensors, and human-machine interfaces to work cooperatively with surgeons in the planning and execution of surgery and other interventional procedures. The impact of CIIS on medicine in the next 20 years will be as great as that of Computer-Integrated Manufacturing on industrial production over the past 20 years. A novel partnership between human surgeons and machines, made possible by advances in computing and engineering technology, will overcome many of the limitations of traditional surgery. By extending human surgeons. ability to plan and carry out surgical interventions more accurately and less invasively, CIIS systems will address a vital need to greatly reduce costs, improve clinical outcomes, and improve the efficiency of health care delivery. CIIS systems combine images and other information about an individual patient with .atlas. information about human anatomy to help clinicians plan how to treat the patient. In the operating room, the patient-specific plan and model are updated using images and other real-time information. The system has a variety of means, including robots and .augmented reality. displays to assist the surgeon in carrying out the procedure safely and accurately. The same technology will be used to assist in subsequent patient follow-up and in enabling statistical quality control to help improve the overall efficacy and safety of surgery and interventions. |
Medical Robotics Survey | |
10/28, 11/4 & 11/11 | The Future & Implications: computing and society -- lecture slides | Uncanny Valley, AI article |
11/18 Break-outs |
A) Yanif Ahmad: Next-Generation Cloud and Data Ecosystems
With massive datacenters as our consolidated computing infrastructure,
and the "Internet of Things" as our data sources, the multiple
hardware and software layers comprising our data ecosystems are
revolutionizing our abilities to acquire, process, consume and act on
Big Data.
|
Chapter 1. The Datacenter as a Computer (link only accessible from a JHU IP); videos of datacenter tours |
B) Philipp Koehn: Can
Computers Talk?
While computers already beat us in tasks such as playing chess or finding directions when driving, having a conversation with a computer still breaks down very quickly. We seem to be making progress these days with speech interfaces such as Siri, or automated language translation on the web, but these are far from perfect. Why is processing natural language so hard? What is it even good for? |
Wikipedia NLP, article | |
C) Vladimir
Braverman: Algorithms in our daily life
In this talk, we will (very informally!) learn how to use algorithms to address the following problems.
|
(see links per topic) | |
12/2 | Book Discussion |
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).