2CPP01 - Intro to Module
-
Upload
michael-heron -
Category
Software
-
view
49 -
download
1
description
Transcript of 2CPP01 - Intro to Module
INTRO TO MODULEMichael Heron
Introduction• Welcome to AC21002.
• It’s about C++ and Object Orientation• And some other things.
• The focus of the module is on object oriented design and implementation.• C++ is a delivery language, but much of what you will be learning
about is transferable.
• We will be talking about the transferability of concepts as part of the module content.
Module Structure• Every Week for the first seven weeks.
• Three formal lectures.• One lab-prep lecture• One tutorial
• Programming with pen and paper• You’ll love it!
• Two(ish) hours of lab time.• Lab is booked for a four hour slot.
• I am your tour guide for the first seven weeks.• Someone else takes over after that.
Module Assessment• Assessment consists of:
• 5 Lab Exercises (worth 8% each)• These will be two week exercises
• Final exam (60%)
• You get an opportunity to resit the examination.• You do not get a chance to resit the coursework.
• Keep up with the coursework!
Course PlanWeek Rough Content (subject to change)
1 Introduction to module and C++
2 Object Orientation Principles
3 Overloading
4 The Pillars of Object Orientation
5 Abstraction and Templates
6 Additional C++ Syntax
7 Data Structures and Algorithm Design
Tools of the Trade• We will be using the Visual Studio package for this
module.• This is available through the MSDNAA if you need it at home.
• We are primarily working with console based applications.• Text only• Main GUI Programming course next year.
Lectures• There is a lot of theory to this module.
• And a good deal of practise too.
• I can’t emphasize enough how important it is that you attend regularly.• There is a direct correlation between attendance and pass rates in
programming modules.
• Lecture slides will be available online.• But lectures will cover things not on the slides.
• Because I tend to ramble…
Object Orientation: Disclaimer• You will read many programming books that claim some
variation of the following:• ‘Object Orientation is an easy programming technique to learn
because it matches the way people think’
• It is my experience that this is hokum.• Object orientation is to my mind a rather difficult way of putting
together computer programs.• However, the benefit is that it is also perhaps the most effective way yet
discovered.
Object Orientation: Disclaimer• This problem is exacerbated by the necessities of
teaching.• The concepts we discuss are really best suited to large and
complex programs.• We never really give you large and complex programs to code.
• There are reasons for this, but for a big part of this module you’re just going to have to trust us in that this stuff is all important.
Coursework• The coursework exercises all offer a substantial degree of
freedom.• You are given relatively open briefs.
• One of the resources you have available to you as a developer is your peer group.• That means in this context, your fellow students.
• You should make good use of them where you can.
Coursework• However, the work that you submit for the module should
be your own work.• Discussing problems and solutions with others is fine and dandy• Using source code from other people is not.
• In all cases, if you are making use of code that was derived from that of a fellow student, or from the internet, or a book, then you should comment it as so.• Citing your sources is good practise generally, but in this module in
particular it will inoculate you against the risks of plagiarism.
Plagiarism• To a degree, all programming is plagiarism.
• Reusability is one of the things programmers strive for.
• The University of Dundee however treats plagiarism as a serious offence.• At a minimum, you get zero marks for a lab exercise.• At a maximum, you can be expelled from the university.
Plagiarism• The labs and the tutorials are there to reinforce your
understanding of the theoretical content.• We have to strike a balance between the realities of
programming and the requirements of the university.• Submit your own work• Cite any code that is not your own work.
• If in doubt, ask!
The Examination• The examinations take place in December.• The exam paper has four questions, and there is no
choice given in the questions you may answer.• You are not required to memorize large chunks of code.• You are required to be conversant with C++ syntax.• You are required to be conversant with object oriented
principles and data structure design.
The Examination• The key for the examination is understanding.
• We are not looking for recall, we are looking for genuine understanding of the topics.
• Examination questions will stress understanding of implications of concepts.
• The tutorials will be used to aid in building this understanding.
Marking• This module uses the university’s standard marking
scheme.• However, there is an informal guideline you can use when
trying to work out what grade your work will gain you.• This is only a rough measure, varying factors come into play when
the submissions are actually being graded.
Marking GuidelinesDegree Class Criteria
Fail No submission, or a submission that fails to meet the requirements of the coursework brief.
Aim higher than this!
3rd The program meets the minimum requirements of the coursework brief.
2:2 The program meets the full requirements of the coursework brief.
2:1 As 2:2, plus:
demonstrates good practice and design.
1st As 2:1 plus:
shows evidence of additional reading.
Further Understanding• Meeting the full requirements of the brief will not be
enough to attain the highest grades in this module.• If you want A marks, you need to incorporate techniques,
code or design that has not been covered in the body of the module.• Your submission has to ‘sparkle’
• Don’t ask me ‘What would be a cool thing to add here’• You’re supposed to be surprising me.
Summary• This is your module.
• I hope you find it interesting!
• It’s about C++ and Object Orientation.• It can be heavy going, but stick in there.
• It’s me for seven weeks.• Someone else for the three after that.
• Understanding is important• So make sure you turn up!