pptx

advertisement
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
Download