430 likes | 570 Views
CSS 161 A Fundamentals of Computing Introduction September 24, 2012. Instructor: Uma Murthy CSS SKL 161 A Instructor : Joe McCarthy. Outline. What is this course? Who am I, and why am I here? Who are you, and why are you here? Logistics Introduction to Fundamentals of Computing
E N D
CSS 161 AFundamentals of ComputingIntroductionSeptember 24, 2012 Instructor: Uma MurthyCSS SKL 161 A Instructor: Joe McCarthy CSS 161: Fundamentals of Computing
Outline • What is this course? • Who am I, and why am I here? • Who are you, and why are you here? • Logistics • Introduction to Fundamentals of Computing • Next steps CSS 161: Fundamentals of Computing
What is this course? CSS 161: Fundamentals of Computing
Course lab CSSSKL 161 A Friday 11:00AM-1:30PM UW1 120 CSS 161: Fundamentals of Computing
Who am I? • Joe McCarthy, Ph.D. • Senior Lecturer, Computing & Software Systems • Naming conventions • “Joe” • “Professor McCarthy” • “Dr. McCarthy” • “Professor Joe” • “Dr. Joe” CSS 161: Fundamentals of Computing
Your instructor for this course • Uma Murthy, Ph.D. • Lecturer, Computing & Software Systems • Currently traveling in India and will return for the Oct 1 class CSS 161: Fundamentals of Computing
Why am I here [today]? • Covering for Uma, who is in India • But why am I involved in this class (CSS [SKL] 161 A)? CSS 161: Fundamentals of Computing
Empowerment Hearers (vs. speakers) Readers(vs. writers) Viewers(vs. producers) “most of society remains one full dimensional leap of awareness and capability behind the few who manage to monopolize access to the real power of any media age …” “if we take up this challenge [programming], we are looking at nothing less than the conscious, collective intervention of human beings in their own evolution. It’s the opportunity of a civilization’s lifetime.” CSS 161: Fundamentals of Computing
Empowerment … with benefits http://www.geekwire.com/2012/chart-pays-seattle-software-engineers/ CSS 161: Fundamentals of Computing
Who are you & why are you here? • Name • Why are you taking this course? • What was your favorite class (& why) • What is your favorite computer program? • If you could write a program to do anything, what would it do? CSS 161: Fundamentals of Computing
[How] are you experienced? • Do you have any programming experience? • Note: no experience necessary (or expected) • For those with experience, which language(s)? • Which operating systems have you used? • Do you own a laptop / desktop? • Do you own a smartphone? What kind? • What other computing devices do you own? • What is your primary browser? Search engine? • Do you use Facebook? Twitter? Google+? Pinterest? CSS 161: Fundamentals of Computing
Online survey • Complete survey on your background • Check email tomorrow CSS 161: Fundamentals of Computing
Course Objectives • Learn • programming fundamentals • computer organization • algorithmic thinking • software engineering concepts • social and professional issues CSS 161: Fundamentals of Computing
Course Objectives • Learn • programming fundamentals • computer organization • algorithmic thinking • software engineering concepts • social and professional issues CSS 161: Fundamentals of Computing
Course Objectives • Learn • programming fundamentals (control structures, data types and representation, I/O operations, functions and parameters … in Java) • computer organization • algorithmic thinking • software engineering concepts • social and professional issues CSS 161: Fundamentals of Computing
Course Objectives • Learn • programming fundamentals (control structures, data types and representation, I/O operations, functions and parameters … in Java) • computer organization(hardware, software, CPU, memory, storage, I/O devices, …) • algorithmic thinking • software engineering concepts • social and professional issues CSS 161: Fundamentals of Computing
Course Objectives • Learn • programming fundamentals (control structures, data types and representation, I/O operations, functions and parameters … in Java) • computer organization(hardware, software, CPU, memory, storage, I/O devices, …) • algorithmic thinking(clearly specified sequence of steps) • software engineering concepts • social and professional issues CSS 161: Fundamentals of Computing
Course Objectives • Learn • programming fundamentals (control structures, data types and representation, I/O operations, functions and parameters … in Java) • computer organization(hardware, software, CPU, memory, storage, I/O devices, …) • algorithmic thinking(clearly specified sequence of steps) • software engineering concepts (specifications, design, testing) • social and professional issues CSS 161: Fundamentals of Computing
Course Objectives • Learn • programming fundamentals (control structures, data types and representation, I/O operations, functions and parameters … in Java) • computer organization(hardware, software, CPU, memory, storage, I/O devices, …) • algorithmic thinking(clearly specified sequence of steps) • software engineering concepts (specifications, design, testing) • social and professional issues (history, ethics, applications) • Have fun • Consciously & collectively intervene in our own evolution CSS 161: Fundamentals of Computing
Course Logistics • Uma Murthy • Office: UW1-360E; Phone: 425-352-???? • Office hours (after this week): • MW 1:15 - 2:15pm & by appointment • Email: umurthy1@uw.edu (Use CSS161 in subject) • Class meetings • Lectures: MW 11:00am-1:00pm, UW2-221 • Class web site: • http://courses.washington.edu/css161/umurthy/ • Links to lecture notes, homeworks, supplemental material, discussion forums, homework Dropbox • Please be patient as the website is updated with resources in the coming week CSS 161: Fundamentals of Computing
Grading • Homeworks • Mostly programming problems • 6-8 homeworks, 30% of grade • Midterm Exams • Based on readings, lectures, discussions, assignments, labs • 2 exams, 40% of grade • Final Exam • In the week of December 10 (TBD and notified) • 25% of the grade • Quizzes: • 5% of grade • UWB Academic Standards will be strictly enforced CSS 161: Fundamentals of Computing
Homeworks • Unless otherwise noted: • All homeworks must be submitted digitally via the class Catalyst Dropbox • https://catalyst.uw.edu/collectit/dropbox/umurthy1/23719 • Homework documents, files and directories must follow a naming convention laid out in the submission instructions • Homeworks are due by the beginning of class on the date they are due • No late homeworks will be accepted, nor makeup exams given, except under extenuating circumstances CSS 161: Fundamentals of Computing
Quizzes • Typically include short answer questions • Typically held in the first 20 minutes of class either on a Monday or Wednesday • Quiz notifications will be given in the prior week CSS 161: Fundamentals of Computing
Questions / Discussion Forums • Who questions much, shall learn much,and retain much. • Francis Bacon • Please ask – and answer – questions • in class • Discussion Forum (Catalyst GoPost) • via email • in person during my office hours • Discuss issues, problems & approaches, but do not post solutions to homeworks CSS 161: Fundamentals of Computing
https://catalyst.uw.edu/gopost/board/umurthy1/29824/ CSS 161: Fundamentals of Computing
If you want to learn, teach CSS 161: Fundamentals of Computing
Experimentation “Do not be too timid and squeamish about your actions. All life is an experiment. The more experiments you make the better.” - Ralph Waldo Emerson CSS 161: Fundamentals of Computing
Required Textbook Absolute Java, 5th Edition Walter Savitch & Kenrick MockAddison-Wesley, 2013 4th Edition OK, too CSS 161: Fundamentals of Computing
Supplemental Material (1/2) Java: An Introduction to Problem Solving & Programming, 6th EditionWalter SavitchAddison-Wesley, 2012 http://courses.washington.edu/css161/joemcc/Notes/SavitchCh01.pdf(access via “Notes” link on course homepage) CSS 161: Fundamentals of Computing
Supplemental material (2/2) • Practice It! http://webster.cs.washington.edu:8080/practiceit/ • Instructions to be provided in the coming weeks CSS 161: Fundamentals of Computing
Course schedule – 1/2 (check on website) CSS 161: Fundamentals of Computing
Course schedule – 2/2 (check on website) CSS 161: Fundamentals of Computing
Fundamentals of Computer Programming CSS 161: Fundamentals of Computing
Fundamentals of ComputerProgramming • What is a program? CSS 161: Fundamentals of Computing
Fundamentals of ComputerProgramming • What is a program? • What is programming? CSS 161: Fundamentals of Computing
Fundamentals of Computer Programming • What is a program? • What is programming? • What is a computer program? CSS 161: Fundamentals of Computing
Fundamentals of Computer Programming • What is a program? • What is programming? • What is a computer program? • What is computer programming? CSS 161: Fundamentals of Computing
FirstProgram.java javac FirstProgram.class java CSS 161: Fundamentals of Computing
[In Mac OS X Terminal window] localhost:codeumurthy$ lsFirstProgram* FirstProgram.java localhost:codeumurthy$ javacFirstProgram.java Localhost:codeumurthy$ lsFirstProgram* FirstProgram.classFirstProgram.java Localhost:codeumurthy$ java FirstProgram Hello reader. Welcome to Java. Let's demonstrate a simple calculation. 2 plus 2 is 4 Localhost:codeumurthy$ CSS 161: Fundamentals of Computing
Next time (Wednesday) • Fill out survey (check email tomorrow afternoon) • Get textbooks • Read: • Absolute Java, Section 1.1 • Java: An Introduction…, Sections 1.1 & 1.3 • Recommended: Section 1.4 CSS 161: Fundamentals of Computing