CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost About this course Deciphering “Programming Concepts and Practice” After taking this course you will be familiar with Modern Software Development Practices Object-Oriented Program Design and Implementation Advanced Programming Concepts Inheritance and Polymorphism Graphical User Interfaces (GUIs) Networking Multithreading You will also be very familiar with The Java Programming Language (which you will use to implement your labs) The syntax of C-based Programming Languages Administrative Notes Textbooks and Software Textbook (recommended) Core Java 2 (8th ed.) by Cay Horstmann and Gary Cornell, Volume I Software (recommended) Eclipse Integrated Developer Environment Available as a free download at www.eclipse.org Also available on all CEC machines Java 5.0 Software Development Kit (SDK) Available as a free download from http://java.sun.com/j2se/1.5.0/download.jsp Pre-installed on CEC machines Administrative Notes Locations, Times, and other Details Class Details Location: Sever 102 Time: Tu-Th, 4:00 PM – 5:30 PM Website: http://classes.engineering.wustl.edu/cse501/ Lab Sessions Location: Sever 201 Time: Tu-Th, 5:30 PM - 7:00 PM Labs are optional* I make it a point to be at each lab session However, I may give a select number of lab lectures Administrative Notes Instructor Information Instructor Nick Leidenfrost Website: http://classes.engineering.wustl.edu/cse501/ Email: naleiden@cec.wustl.edu Office: Lopata 508 Phone: (314) 479-6479 T.A. N/A Office Hours In my office (Lopata 508) T-Th, 3:00 AM - 4:00 AM By appointment Contacting me For assignment related problems, check the forum on the website For individual problems, contact me via email Please avoid using the phone unless you feel it is urgent Administrative Notes Assignments and Grading Assignments Weekly graded programming assignments & labs (Quasi)-Weekly (Mostly)-graded in class quizzes 2 in class exams (midterm and final) Grading (Approximately) Assignments & Labs 60% Midterm Exam: 15% Final Exam: 20% In Class Quizzes & Class Participation: 5% For more information see the policies page of the website. http://classes.engineering.wustl.edu/cse501/policies.php Administrative Notes Other Policies Late Policy Late assignments will lose 10% of total possible points per day Assignments more than 3 days late will not be accepted Reasonable Effort Policy You must turn in every Lab Assignment to get a grade higher than D Every Lab Assignment turned in should represent a reasonable effort on your part, i.e., a few lines of code will not suffice Academic Integrity I do not expect to encounter AI violations However, if anyone is caught cheating they will Receive an automatic -100% for the assignment Be subject to additional penalties as determined by the CSE Dept. Administrative Notes Collaboration Acceptable Conversation, in almost every context (Well, outside of exams) Helping fellow students in lab “You’re calling a method on an object that is null.” “You forgot a closing bracket here.” “The computer is off.” etc. Unacceptable Discussing problems and concepts at a high-level with your fellow students Direct copying, in any context If in doubt, please ask me. Administrative Notes Expectations What I expect from you Get started on assignments early Get help early and often if needed Attend class and lab if you find you are having difficulty Attend lab if you are having difficulty (*ahem*) Come prepared Look at Lab descriptions as soon as they are available Lecture will often address problems relevant to the lab Make an effort to understand the problem before coming to me with a question Turn your assignments in on time Reasonable advance notice in case of conflicts Administrative Notes Lectures I will lecture using both the board and PowerPoint slides Selected slides will be posted online AFTER the class You are encouraged to take your own written notes Notes on the board will not be available after class Personal Notes Workload I genuinely enjoy programming. I hope I can share this enjoyment with you, and that you have a little bit of fun in this class. That said: You are at Washington University This is a 500 level course There is some associated level of expected commitment (work) Things I will try to keep in mind: CSE 501N is not your only class this semester This is not the intended field for most or all of you Personal Notes Workload, Comprehension, and Sanity Things to keep in mind: The material in this class is not easy… … neither is it overly difficult. You are all coming into this class with varying levels of experience. We all learn differently. Like any language, programming languages take time and practice. “I’m just bad at this stuff” is the wrong attitude. If it doesn’t “click” right away, give it time. If I can do it, you can do it. Tips for Sanity Be fair to yourself: Give yourself enough time to complete assignments Use me. I’m here to help. Don’t be shy. Programming can be very frustrating when you are rushed, stuck, and don’t have help.