CMPE212 • Object Oriented Programming for Engineers • Course Web Site: http://research.cs.queensu.ca/home/cmpe212 • The lecture notes, videos, and other stuff will be (and is) posted. Winter 2015 CMPE212 - Prof. McLeod 1 CMPE212 Introduction • Me: Prof. Alan McLeod – – – – Best way mcleod@cs.queensu.ca Use your queensu account! GOO550 Also, post questions on Moodle forum Office hours: posted later this week. • TAs: – ? and ? • Lab in Jeffrey Hall Basement (JEF155) • No lab this week – start next week (maybe)! • Please identify your lab in Moodle. Winter 2015 CMPE212 - Prof. McLeod 2 Another Thing – Snow Drill… • If you look outside and the roads do not look great (or you cannot see the road because there is too much snow!), check your E-mail and/or the course web site in case the lecture has been cancelled. Typically a “virtual lecture” will be supplied instead. Winter 2015 CMPE212 - Prof. McLeod 3 Purpose of CMPE212 • To teach you a modern, relatively safe and popular OOP language – Java. • To teach you how to write good code! • How much Java experience do you have? • How about C? Winter 2015 CMPE212 - Prof. McLeod 4 Grading • Grading scheme – – – – 5% - participation 30% - three quizzes, (weeks 4, 8 and 11) 20% - four assignments, (due weeks 4, 7, 9 and 12) 45% - one final exam Winter 2015 CMPE212 - Prof. McLeod 5 Participation • See web site for details. • 1% each for a maximum of five posts or glossary entries in Moodle. • Cannot get more than 5% in the glossary alone. • Then 1% for each set of five more posts as bonus marks. (A “supermoodler”) • No marks for more than 30 posts!! Winter 2015 CMPE212 - Prof. McLeod 6 Quizzes • • • • • Will be written in the lab. On paper – no aids. Read and write Java code. Marked by Prof., returned in class. A sample quiz is posted. • Gives you a feel for what the final exam will be like. Winter 2015 CMPE212 - Prof. McLeod 7 Assignments • • • • Long! Fish! Electronic submission to Moodle. Web site describes policy of diminishing returns for late submission. • One submission per person, please! • You can get help in the lab and I will discuss them in lecture – time permitting. • TAs will mark assignments. Winter 2015 CMPE212 - Prof. McLeod 8 Assignment Rules • Assignments are graded out of 20 – your marks and comments will be uploaded to Moodle by your TA. • Late submission: – You can submit up to five days after the deadline, but: – Your mark will be reduced by 2 marks per day late, unless you can prove extenuating circumstances, such as a serious illness or a Queen’s activity. – Minimum of 2 marks removed. – Make sure you click on “submit” to make sure you get a proper timestamp on your submission. – Don’t leave your assignment to the night before!!! Winter 2015 CMPE212 - Prof. McLeod 9 Assignment Rules, Cont. • “Group Efforts”: – I encourage you to discuss your difficulties with your peers, myself and your TAs. – You may look at other people’s code. – You cannot copy other people’s code! – Submissions may be electronically and physically checked for code duplication. – If you are caught with duplicated code – all parties with such code will get zero on the assignment, and you may get prosecuted for a failure of academic integrity. – You will not learn anything if you copy someone else's code! Winter 2015 CMPE212 - Prof. McLeod 10 Final Exam • • • • • Three hours long. On paper – no aids. Read and write Java code. Short answer as well. An exam prep page including an exact list of examinable topics and old exams will be provided near the end of the course. Winter 2015 CMPE212 - Prof. McLeod 11 Labs • Get help from your TA on lecture material, assignment work, quiz prep, exam prep, etc. • No lab this week. Winter 2015 CMPE212 - Prof. McLeod 12 Speaking of Moodle... • Please Check your Moodle login – if the course does not show up for you, let me know. – – – – Submit assignments to Moodle. View grades. Use the forums. Check out and contribute to the Glossary as the course goes on. – Participate! • Update your profile in Moodle – upload your picture! Winter 2015 CMPE212 - Prof. McLeod 13 Speaking of Moodle Profiles... • The idea of the picture is to help us (me, especially!) know who you are. • Here are a few pics I have seen: Maybe something like this would be better: Winter 2015 CMPE212 - Prof. McLeod Boring, I know... 14 What’s Where Course Web Site (public) – Resources. – Lecture topics. – Lecture notes and sample code. – Quiz sample and solutions. – Assignment statements and sample solutions. – Exercises. – Grading scheme. – Non-urgent notices. Winter 2015 – – – – – – – Moodle (login) Lecture videos. Forums and Q&A. Glossary. Urgent Notices. Assignment submission. Quiz and assignment grades. Assignment feedback. CMPE212 - Prof. McLeod 15 Glossary in Moodle • Open to entire class to add terms/jargon/acronyms from the course, and then to define and comment on them. • You may be asked about some of these terms on quizzes and/or the final exam. • I reserve the right to correct, delete or veto… Winter 2015 CMPE212 - Prof. McLeod 16 CMPE212 Introduction, Cont. • Resources – Recommended Textbook: – Fourth edition also OK. Winter 2015 CMPE212 - Prof. McLeod 17 Eclipse IDE • Preferred development environment: – – – – Multiplatform, open source, free. Available from www.eclipse.org See the Resources web page. WindowBuilder Pro is a very nice Visual Editor that can be used with Eclipse. Winter 2015 CMPE212 - Prof. McLeod 18 Other IDEs • (What does “IDE” stand for anyways? Is this in the Glossary, yet?) • Netbeans, for example. • Others are listed or linked off the Resources page. • Your TA will not (and should not) know what tool was used to aid the development and testing of your code. Winter 2015 CMPE212 - Prof. McLeod 19 Eclipse – Normal Working View Winter 2015 CMPE212 - Prof. McLeod 20 Eclipse with Window Builder Pro Winter 2015 CMPE212 - Prof. McLeod 21 Java, Version “8” • The JDK or “Java Development Kit” is available from oracle.com • The JDK and Eclipse are available in Jeff lab (and many other labs, in Goodwin and WLH). • Download the JDK first and then Eclipse. • See the Resources page. • You might also wish to download the API docs. Winter 2015 CMPE212 - Prof. McLeod 22 Purpose of CMPE212 • What the course is about: (Why are you here?) To learn how to program in Java. To increase your programming proficiency. To learn OOP principles with a modern, object oriented programming language. To transition to another language. To improve your programming style. To practice modular program design. To explore GUI programming. Winter 2015 CMPE212 - Prof. McLeod 23 Why Java? Not Vendor - Specific. Platform independent. Most fundamentally sound application of OOP principles. Huge community support base. Many free, mature development tools. • Once you have learned Java, you will find it easy to pick up any other OOP language (like C++ or C#). Winter 2015 CMPE212 - Prof. McLeod 24 What You Need to Do Next • Review course web site. • Check Moodle login. Add photo, if needed. • Install Eclipse, if you want to use this IDE – see the Resources page. • Start Exercise 1. • Assignment 1 is posted! Winter 2015 CMPE212 - Prof. McLeod 25