SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Dr. Martin Chapman
programming@kcl.ac.uk
martinchapman.co.uk/teaching
Programming Practice and Applications (4CCS1PPA)
Introduction
Q: What does the term `programming’ mean to you? 1
Thursday 29th September
Let’s Talk About A Difficult Relationship…
2
You are expected to attend (long) lectures and listen to
theoretical content presented to you by someone speaking.
Teaching is typically done using metaphors and abstract
examples.
The lecturer is perceived to be at the top of a knowledge
hierarchy. You only learn from them.
A module follows a set path, which is pursued by everyone.
Coursework is set centrally, and completed according to a
particular set of goals.
IN TRADITIONAL HIGHER EDUCATION…
3
In order to learn how to program you must do some
programming. It is not sufficient to just listen to someone
talking about it.
Often, programming concepts can only be understood by
seeing them used.
Age and seniority are no guarantee of experience.
Everyone learns how to program in different ways.
You can only really learn and enjoy programming, if you are
prepared to set your own goals.
HOWEVER, WHEN PROGRAMMING…
4
The Solution?
5
Fortunately, we’ve known about these problems for a while.
PPA is a newly structured module where:
• 50% of your grade is now from practical tasks (previously
it was much less).
• Regular assignments keep you programming.
• More laboratory time.
• There is no January exam, to accommodate different
learning rates, but a class test (10%) to check where you
are up to.
THE SOLUTION: RECENT CHANGES
6
From next week, aim to minimise the time I talk, and maximise the time
you program.
• At times more like a workshop than a lecture, with the tutorial
time merged into the lecture.
• Bring a computer, a device upon which you can write code, or a
pen and paper.
• Because of this format, the utility of lecture capture is diminished.
When I do talk, I will aim to focus on practical examples.
Aim to breaker the session down and have regular breaks.
• Roughly in accordance with attention span (45 minutes).
THE SOLUTION: LECTURE FORMAT
7
But we will, necessarily, still retain some elements of the
traditional lecture format.
• I do not mind what you do while I am speaking (e.g.
independent work), but do not disturb those who choose to
listen.
• Push yourself to listen and engage right through to the end.
Tell me what works and what doesn’t; the structure of these
three hours is up to you.
Using our e-learning platform KEATS, you will be able to give
feedback after every lecture.
THE SOLUTION: LECTURE FORMAT (FEEDBACK)
8
You will be assigned to a laboratory session (from next week; details on
your timetable), which will provide a much needed additional environment
in which you can do some programming.
Even if you do not wish to attend the lectures, you must attend the
laboratory sessions (if nothing else, we check your attendance).
• Although the labs are designed to complement the lecture content as
you complete questions and implement code from the slides.
• Also an opportunity to work on coursework (more later).
Run by bright, helpful teaching assistants.
• When I was a Teaching Assistant, I was told I was more helpful than
the module lecturer. Whether this is true or not, it shows that I was
able to provide a fresh perspective on the material.
THE SOLUTION: LABORATORIES
9
Even with 15 years of programming experience (8 in Java) and
experience in a range of different programming languages, I
will still not be the best programmer in this room.
• Every year students come to us from a range of
impressive backgrounds.
• Many of you will be familiar with languages that employ
conventions that I am not (overly) familiar with, such as
memory management.
• These things will often not be covered in this module,
but are relevant and interesting.
THE SOLUTION: THE PEOPLE AROUND YOU (1)
10
We can capitalise on this.
• Learn from each other, not just from me.
• I can also learn from you.
• If I don’t know the answer to a question, I won’t
pretend, I’ll cover it in the next lecture (if relevant),
or try it out with you.
This dynamic is a good thing; a phenomenon unique to our
discipline.
THE SOLUTION: THE PEOPLE AROUND YOU (2)
11
THE SOLUTION: THE PEOPLE AROUND YOU (3)
12
Given this dynamic, it might be useful to view me as a coach rather
than a teacher, who:
• Nurtures existing skills.
• Prioritises you in the learning process.
• Allows you to practice in a structured environment
• Encourages you to challenge your own knowledge.
We have setup the course to try and help you as much as possible, but
in the end you must take responsibility for your own learning.
Learning how to approach topics yourself is a skill that is just as
important as any topic in Computer Science, going forward.
• If the order of topics we have chosen doesn’t suit your learning
style, use other resources to approach the topics in a different
way (see the KEATS support procedure).
• Unsure about something? Try it out.
There is no expectation that you will understand something the first
time it is presented to you; go over concepts again in your own time.
Seek support as needed (again, see the KEATS support procedure).
Set yourself goals: `today I want to build X’.
THE FINAL SOLUTION: YOU
13
Programming is a very unique discipline, and you have made a good choice to
study it. The most creative thing you can do while remaining scientific.
I am not your teacher, you are a group of adults learning together with me.
• Learn from each other.
• I can learn from you.
• Be responsible for each other.
University is very different from College or 6th Form.
• Please don’t call me `sir’.
Ultimately, I cannot teach you programming, I can only enable you to teach
yourself.
SUMMARY: WHAT THIS DIFFICULT RELATIONSHIP TELLS US
14
To Summarise And Formalise…
15
4CCS1PPA (Programming Practice and Applications)
2 Semester, 30 credit module
• Coursework (50%)
• Class Test (10%)
• Exam (40%)
Lectures every Thursday, 3pm - 6pm, except this week, when we will
finish at 5.00pm and resume for the last hour tomorrow at 2pm in the
same place.
The KEATS page is the hub for information about this module. Search
`4CCS1PPA’ on keats.kcl.ac.uk and enrol yourself.
THE MODULE
16
THE CONTENT (1)
17
Semesters 1 & 2
Java (C++ in second year). General problem solving.
Semester 1 (`Practice’ and `Practise’)
Object-Oriented design (including combining objects),
program control flow, library classes, arrays, data structures
and errors.
Semester 2 (`Applications’)
Graphical User Interfaces, Human Computer Interaction,
regular expressions and software development tools.
https://www.kcl.ac.uk/nms/depts/informatics/study/current/handbook/
progs/modules/4CCS1PPA.aspx
Who is PPA for?
Those with no programming experience. Yes. The majority of this
course will be aimed at you.
Those with some programming experience. Towards the beginning of
the course, yes, we will explore object-oriented programming which
is typically unfamiliar to students. Other topics will be trivial.
Those who have been working for Google for 15 years. Not so much,
but we will regularly post `challenging’ problems to a forum on
KEATS. Attend APT.
Remember: Challenge your own knowledge.
• Prior experience is good, but is often just the start.
THE CONTENT (2)
18
Semester 1 (25%)
10 short coursework exercises, each worth 2.5% of your final
grade.
Semester 2 (25%)
4 short coursework exercises, each worth 2.5% of your final
grade. 1 major piece of coursework, to be completed in
groups, worth 15% of your final grade.
THE COURSEWORK: OVERVIEW
19
Semester 1
One piece of coursework will be released every week, on the Monday following
the lecture, and will be due the Monday after.
• The first piece of coursework will be released on Monday.
• However, it’s only likely that you will be able to complete it until after next
week’s lecture, so you will have just over two weeks to complete it.
• The remaining pieces of work must be completed within one week to
ensure you are practicing programming regularly.
Exact deadlines are given on KEATS.
Semester 2
Pending.
THE COURSEWORK: DEADLINES
20
Semester 1
Assignments are designed to test your understanding of the most
recent lecture(s), and can be completed in the labs, with the
assistance of the TAs.
Semester 2
We will continue to test your knowledge incrementally, and then
bring the learning of both semesters together in the major piece of
coursework.
• This piece of coursework will also enable you to explore a wider
range of software engineering tools including version control.
THE COURSEWORK: CONTENT
21
Semesters 1 and 2
We are going to ask you to submit your code using a specialist piece of
software called Nexus.
• There will be a link to the Nexus submission page for each assignment
on KEATS (via King’s Github). Guide on KEATS.
• Nexus will allow you to submit your code multiple times, and after each
submission will check that your code compiles on our system (so that if it
doesn’t you can fix it!), and may provide you with hints about formatting.
• However Nexus will not provide you with a mark.
• Don’t keep submitting your work after the deadline. This is for late
submissions only.
• Nexus is experimental. Give us feedback.
THE COURSEWORK: MARKING AND FEEDBACK (NEXUS)
22
Semesters 1 and 2
After the deadline, we will take the last piece of code you submitted through
Nexus, and mark it offline using another piece of software that will recommend a
mark to us.
• We will share the output of this software with you, as quantitative
feedback, before the deadline of the next assignment, but any mark given
is provisional.
• Don’t upset this software! If it cannot compile your code, you will receive a
mark of zero.
• Code that works is better than code that is finished.
• Check carefully before submitting, and using Nexus, that your code can
be compiled.
• Still, this mark is only a recommendation, so we will use our discretion,
and formalise your marks at the end of the semester.
THE COURSEWORK: MARKING AND FEEDBACK (MARKING)
23
Semesters 1 and 2
We will ask you to submit some documentation of your code along with your
submission, so that we know you understand what your code does.
• We will check this documentation at the end of the semester and use its
quality to turn your provision mark into a final mark, for each assignment.
• Without submitting documentation along with your code, you will receive a
mark of zero for that assignment.
• A sample piece of documentation will be posted on KEATS to guide you.
You must also comment your code, and the quality of your comments will also
be used to determine your final mark.
Any code or documentation that is found to be similar will result in a harsh
penalty (more later).
We aim to trial a more interactive version of the Nexus submission and marking
tool in Semester 2.
THE COURSEWORK: MARKING AND FEEDBACK (CODE DESCRIPTION)
24
Semesters 1 and 2
During the laboratory sessions, while you are working on a piece of
coursework (e.g. CW2), the TAs will chat to you about the work you
just submitted (e.g. CW1).
• This discussion does not gain you any marks but is your main
opportunity to receive qualitative (e.g. code structure, style
and efficiency) feedback on your work.
• This discussion is much more important than your mark itself.
THE COURSEWORK: MARKING AND FEEDBACK (TA FEEDBACK)
25
Class Test (10%) on Wednesday 14th December.
• Designed to informally check your progress.
Exam (40%) in May 2017.
• Designed to test your programming abilities after the whole
year.
Both are multiple choice, but do not underestimate this format.
You must achieve at least 40% (except in exceptional
circumstances) in both the examination and the coursework
(which includes the class test) components in order to pass the
module.
THE EXAM
26
THE PLACES: S5.33 (5TH FLOOR, STRAND BUILDING)
27
THE PLACES: S4.01 (4TH FLOOR, STRAND BUILDING)
28
THE PLACES: K4U.13/14 (4TH FLOOR, KING’S BUILDING)
29
THE PEOPLE
30
Asad Kostas Kelly
Lukas Liana Cheng Diego
Shanti Tomas Steffen
Syed Martin
Sundararam
As mentioned, you will find a detailed support procedure on KEATS.
Books from the reading list are a good source of practical exercises,
but for support for theoretical topics, in all honesty, Google is more
efficient.
Email queries, if necessary, should be sent to
programming@kcl.ac.uk. Our personal email addresses are for
administrative issues only.
Come and see me during my office hours (generally on Fridays;
booking link and exact times on KEATS); I want to meet every single
one of you and I want every single one of you to make a good start
at learning how to program.
• My office hours start next week (3/10), because of tomorrow’s
one-off lecture.
SUPPORT
31
Dr. Martin Chapman
programming@kcl.ac.uk
martinchapman.co.uk/teaching
Programming Practice and Applications (4CCS1PPA)
Introduction
These slides will be available on KEATS, but will be subject to
ongoing amendments. Therefore, please always download a new
version of these slides when approaching an assessed piece of work,
or when preparing for a written assessment. 32
Thursday 29th September

Contenu connexe

Tendances

Photoshop Lesson 4
Photoshop Lesson 4Photoshop Lesson 4
Photoshop Lesson 4
ahunneyball
 
Software Development
Software DevelopmentSoftware Development
Software Development
Miles Berry
 
Technology Toolbox Power Point (Beginner And Intermediate)
Technology Toolbox   Power Point (Beginner And Intermediate)Technology Toolbox   Power Point (Beginner And Intermediate)
Technology Toolbox Power Point (Beginner And Intermediate)
Walkersville Middle School
 
Effective use of powerpoint
Effective use of powerpointEffective use of powerpoint
Effective use of powerpoint
renz_sabas
 

Tendances (19)

Personal Development Project
Personal Development Project Personal Development Project
Personal Development Project
 
Photoshop lesson 1
Photoshop lesson 1Photoshop lesson 1
Photoshop lesson 1
 
Making Lesson Plans
Making Lesson PlansMaking Lesson Plans
Making Lesson Plans
 
Instructional technology Final project
Instructional technology Final projectInstructional technology Final project
Instructional technology Final project
 
2CPP01 - Intro to Module
2CPP01 - Intro to Module2CPP01 - Intro to Module
2CPP01 - Intro to Module
 
Photoshop Lesson 4
Photoshop Lesson 4Photoshop Lesson 4
Photoshop Lesson 4
 
Giving Better Presentations
Giving Better PresentationsGiving Better Presentations
Giving Better Presentations
 
Set of questions to assess preparatory study for ji tt
Set of questions to assess preparatory study for ji ttSet of questions to assess preparatory study for ji tt
Set of questions to assess preparatory study for ji tt
 
Katie's Technology Lesson Presentation
Katie's Technology Lesson PresentationKatie's Technology Lesson Presentation
Katie's Technology Lesson Presentation
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
How I help others to level up technical practices
How I help others to level up technical practicesHow I help others to level up technical practices
How I help others to level up technical practices
 
Detailed lesson-plan-in-ict-and-entrepreneurship-6
Detailed lesson-plan-in-ict-and-entrepreneurship-6Detailed lesson-plan-in-ict-and-entrepreneurship-6
Detailed lesson-plan-in-ict-and-entrepreneurship-6
 
11 skills you need
11 skills you need11 skills you need
11 skills you need
 
Kahoot!: A Game-Based Classroom Response System
Kahoot!: A Game-Based Classroom Response SystemKahoot!: A Game-Based Classroom Response System
Kahoot!: A Game-Based Classroom Response System
 
Rubyslava 28.08.2014
Rubyslava 28.08.2014Rubyslava 28.08.2014
Rubyslava 28.08.2014
 
Capstone PowerPoint Presentation: Effective Guide
Capstone PowerPoint Presentation: Effective GuideCapstone PowerPoint Presentation: Effective Guide
Capstone PowerPoint Presentation: Effective Guide
 
Technology Toolbox Power Point (Beginner And Intermediate)
Technology Toolbox   Power Point (Beginner And Intermediate)Technology Toolbox   Power Point (Beginner And Intermediate)
Technology Toolbox Power Point (Beginner And Intermediate)
 
Effective use of powerpoint
Effective use of powerpointEffective use of powerpoint
Effective use of powerpoint
 
Turning Point: Getting Started
Turning Point: Getting StartedTurning Point: Getting Started
Turning Point: Getting Started
 

Similaire à Programming in Java: Introduction

Introductory presentation
Introductory presentationIntroductory presentation
Introductory presentation
djutzen
 
Workplace Simulated Courses - Course Technology Computing Conference
Workplace Simulated Courses - Course Technology Computing ConferenceWorkplace Simulated Courses - Course Technology Computing Conference
Workplace Simulated Courses - Course Technology Computing Conference
Cengage Learning
 

Similaire à Programming in Java: Introduction (20)

Student Survey Nov 2022
Student Survey Nov 2022Student Survey Nov 2022
Student Survey Nov 2022
 
Teacher toolkit Pycon UK Sept 2018
Teacher toolkit Pycon UK Sept 2018Teacher toolkit Pycon UK Sept 2018
Teacher toolkit Pycon UK Sept 2018
 
Guidelines for e-learning project
Guidelines for e-learning projectGuidelines for e-learning project
Guidelines for e-learning project
 
Introductory presentation
Introductory presentationIntroductory presentation
Introductory presentation
 
Workplace Simulated Courses - Course Technology Computing Conference
Workplace Simulated Courses - Course Technology Computing ConferenceWorkplace Simulated Courses - Course Technology Computing Conference
Workplace Simulated Courses - Course Technology Computing Conference
 
How not to fail at programming education
How not to fail at programming educationHow not to fail at programming education
How not to fail at programming education
 
Examination Skills (PDF)
Examination Skills (PDF)Examination Skills (PDF)
Examination Skills (PDF)
 
Examination Skills
   Examination Skills   Examination Skills
Examination Skills
 
How I survived teaching my first online course (and actually enjoyed it!)
How I survived teaching my first online course (and actually enjoyed it!)How I survived teaching my first online course (and actually enjoyed it!)
How I survived teaching my first online course (and actually enjoyed it!)
 
Give Your Course a Mini-Makeover, at Minnesota #D2Lignite
Give Your Course a Mini-Makeover, at Minnesota #D2LigniteGive Your Course a Mini-Makeover, at Minnesota #D2Lignite
Give Your Course a Mini-Makeover, at Minnesota #D2Lignite
 
Unit 1 Sink or Swim
Unit 1 Sink or SwimUnit 1 Sink or Swim
Unit 1 Sink or Swim
 
Module 1 PBL Mini Series
Module 1 PBL Mini SeriesModule 1 PBL Mini Series
Module 1 PBL Mini Series
 
Tracking and monitoring learners in MOOCs
Tracking and monitoring learners in MOOCsTracking and monitoring learners in MOOCs
Tracking and monitoring learners in MOOCs
 
Emma evaluation package webinar
Emma evaluation package webinarEmma evaluation package webinar
Emma evaluation package webinar
 
Ev3 teachers guia
Ev3 teachers guiaEv3 teachers guia
Ev3 teachers guia
 
Ev3 teachers guide web
Ev3 teachers guide webEv3 teachers guide web
Ev3 teachers guide web
 
Lecture 1: Introduction to the Course (Practical Information)
Lecture 1: Introduction to the Course (Practical Information)Lecture 1: Introduction to the Course (Practical Information)
Lecture 1: Introduction to the Course (Practical Information)
 
cẩm nang lập trình căn bản
cẩm nang lập trình căn bảncẩm nang lập trình căn bản
cẩm nang lập trình căn bản
 
Pigs might fly: changing the assessment narrative through TESTA
Pigs might fly: changing the assessment narrative through TESTAPigs might fly: changing the assessment narrative through TESTA
Pigs might fly: changing the assessment narrative through TESTA
 
Domain Powerpoint for ACE.pptx
Domain Powerpoint for ACE.pptxDomain Powerpoint for ACE.pptx
Domain Powerpoint for ACE.pptx
 

Plus de Martin Chapman

Using AI to autonomously identify diseases within groups of patients
Using AI to autonomously identify diseases within groups of patientsUsing AI to autonomously identify diseases within groups of patients
Using AI to autonomously identify diseases within groups of patients
Martin Chapman
 
Using AI to understand how preventative interventions can improve the health ...
Using AI to understand how preventative interventions can improve the health ...Using AI to understand how preventative interventions can improve the health ...
Using AI to understand how preventative interventions can improve the health ...
Martin Chapman
 

Plus de Martin Chapman (20)

Principles of Health Informatics: Artificial intelligence and machine learning
Principles of Health Informatics: Artificial intelligence and machine learningPrinciples of Health Informatics: Artificial intelligence and machine learning
Principles of Health Informatics: Artificial intelligence and machine learning
 
Principles of Health Informatics: Clinical decision support systems
Principles of Health Informatics: Clinical decision support systemsPrinciples of Health Informatics: Clinical decision support systems
Principles of Health Informatics: Clinical decision support systems
 
Mechanisms for Integrating Real Data into Search Game Simulations: An Applica...
Mechanisms for Integrating Real Data into Search Game Simulations: An Applica...Mechanisms for Integrating Real Data into Search Game Simulations: An Applica...
Mechanisms for Integrating Real Data into Search Game Simulations: An Applica...
 
Technical Validation through Automated Testing
Technical Validation through Automated TestingTechnical Validation through Automated Testing
Technical Validation through Automated Testing
 
Scalable architectures for phenotype libraries
Scalable architectures for phenotype librariesScalable architectures for phenotype libraries
Scalable architectures for phenotype libraries
 
Using AI to understand how preventative interventions can improve the health ...
Using AI to understand how preventative interventions can improve the health ...Using AI to understand how preventative interventions can improve the health ...
Using AI to understand how preventative interventions can improve the health ...
 
Using AI to autonomously identify diseases within groups of patients
Using AI to autonomously identify diseases within groups of patientsUsing AI to autonomously identify diseases within groups of patients
Using AI to autonomously identify diseases within groups of patients
 
Using AI to understand how preventative interventions can improve the health ...
Using AI to understand how preventative interventions can improve the health ...Using AI to understand how preventative interventions can improve the health ...
Using AI to understand how preventative interventions can improve the health ...
 
Principles of Health Informatics: Evaluating medical software
Principles of Health Informatics: Evaluating medical softwarePrinciples of Health Informatics: Evaluating medical software
Principles of Health Informatics: Evaluating medical software
 
Principles of Health Informatics: Usability of medical software
Principles of Health Informatics: Usability of medical softwarePrinciples of Health Informatics: Usability of medical software
Principles of Health Informatics: Usability of medical software
 
Principles of Health Informatics: Social networks, telehealth, and mobile health
Principles of Health Informatics: Social networks, telehealth, and mobile healthPrinciples of Health Informatics: Social networks, telehealth, and mobile health
Principles of Health Informatics: Social networks, telehealth, and mobile health
 
Principles of Health Informatics: Communication systems in healthcare
Principles of Health Informatics: Communication systems in healthcarePrinciples of Health Informatics: Communication systems in healthcare
Principles of Health Informatics: Communication systems in healthcare
 
Principles of Health Informatics: Terminologies and classification systems
Principles of Health Informatics: Terminologies and classification systemsPrinciples of Health Informatics: Terminologies and classification systems
Principles of Health Informatics: Terminologies and classification systems
 
Principles of Health Informatics: Representing medical knowledge
Principles of Health Informatics: Representing medical knowledgePrinciples of Health Informatics: Representing medical knowledge
Principles of Health Informatics: Representing medical knowledge
 
Principles of Health Informatics: Informatics skills - searching and making d...
Principles of Health Informatics: Informatics skills - searching and making d...Principles of Health Informatics: Informatics skills - searching and making d...
Principles of Health Informatics: Informatics skills - searching and making d...
 
Principles of Health Informatics: Informatics skills - communicating, structu...
Principles of Health Informatics: Informatics skills - communicating, structu...Principles of Health Informatics: Informatics skills - communicating, structu...
Principles of Health Informatics: Informatics skills - communicating, structu...
 
Principles of Health Informatics: Models, information, and information systems
Principles of Health Informatics: Models, information, and information systemsPrinciples of Health Informatics: Models, information, and information systems
Principles of Health Informatics: Models, information, and information systems
 
Using AI to understand how preventative interventions can improve the health ...
Using AI to understand how preventative interventions can improve the health ...Using AI to understand how preventative interventions can improve the health ...
Using AI to understand how preventative interventions can improve the health ...
 
Using Microservices to Design Patient-facing Research Software
Using Microservices to Design Patient-facing Research SoftwareUsing Microservices to Design Patient-facing Research Software
Using Microservices to Design Patient-facing Research Software
 
Using CWL to support EHR-based phenotyping
Using CWL to support EHR-based phenotypingUsing CWL to support EHR-based phenotyping
Using CWL to support EHR-based phenotyping
 

Dernier

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
SanaAli374401
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
MateoGardella
 

Dernier (20)

Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 

Programming in Java: Introduction

  • 1. Dr. Martin Chapman programming@kcl.ac.uk martinchapman.co.uk/teaching Programming Practice and Applications (4CCS1PPA) Introduction Q: What does the term `programming’ mean to you? 1 Thursday 29th September
  • 2. Let’s Talk About A Difficult Relationship… 2
  • 3. You are expected to attend (long) lectures and listen to theoretical content presented to you by someone speaking. Teaching is typically done using metaphors and abstract examples. The lecturer is perceived to be at the top of a knowledge hierarchy. You only learn from them. A module follows a set path, which is pursued by everyone. Coursework is set centrally, and completed according to a particular set of goals. IN TRADITIONAL HIGHER EDUCATION… 3
  • 4. In order to learn how to program you must do some programming. It is not sufficient to just listen to someone talking about it. Often, programming concepts can only be understood by seeing them used. Age and seniority are no guarantee of experience. Everyone learns how to program in different ways. You can only really learn and enjoy programming, if you are prepared to set your own goals. HOWEVER, WHEN PROGRAMMING… 4
  • 6. Fortunately, we’ve known about these problems for a while. PPA is a newly structured module where: • 50% of your grade is now from practical tasks (previously it was much less). • Regular assignments keep you programming. • More laboratory time. • There is no January exam, to accommodate different learning rates, but a class test (10%) to check where you are up to. THE SOLUTION: RECENT CHANGES 6
  • 7. From next week, aim to minimise the time I talk, and maximise the time you program. • At times more like a workshop than a lecture, with the tutorial time merged into the lecture. • Bring a computer, a device upon which you can write code, or a pen and paper. • Because of this format, the utility of lecture capture is diminished. When I do talk, I will aim to focus on practical examples. Aim to breaker the session down and have regular breaks. • Roughly in accordance with attention span (45 minutes). THE SOLUTION: LECTURE FORMAT 7
  • 8. But we will, necessarily, still retain some elements of the traditional lecture format. • I do not mind what you do while I am speaking (e.g. independent work), but do not disturb those who choose to listen. • Push yourself to listen and engage right through to the end. Tell me what works and what doesn’t; the structure of these three hours is up to you. Using our e-learning platform KEATS, you will be able to give feedback after every lecture. THE SOLUTION: LECTURE FORMAT (FEEDBACK) 8
  • 9. You will be assigned to a laboratory session (from next week; details on your timetable), which will provide a much needed additional environment in which you can do some programming. Even if you do not wish to attend the lectures, you must attend the laboratory sessions (if nothing else, we check your attendance). • Although the labs are designed to complement the lecture content as you complete questions and implement code from the slides. • Also an opportunity to work on coursework (more later). Run by bright, helpful teaching assistants. • When I was a Teaching Assistant, I was told I was more helpful than the module lecturer. Whether this is true or not, it shows that I was able to provide a fresh perspective on the material. THE SOLUTION: LABORATORIES 9
  • 10. Even with 15 years of programming experience (8 in Java) and experience in a range of different programming languages, I will still not be the best programmer in this room. • Every year students come to us from a range of impressive backgrounds. • Many of you will be familiar with languages that employ conventions that I am not (overly) familiar with, such as memory management. • These things will often not be covered in this module, but are relevant and interesting. THE SOLUTION: THE PEOPLE AROUND YOU (1) 10
  • 11. We can capitalise on this. • Learn from each other, not just from me. • I can also learn from you. • If I don’t know the answer to a question, I won’t pretend, I’ll cover it in the next lecture (if relevant), or try it out with you. This dynamic is a good thing; a phenomenon unique to our discipline. THE SOLUTION: THE PEOPLE AROUND YOU (2) 11
  • 12. THE SOLUTION: THE PEOPLE AROUND YOU (3) 12 Given this dynamic, it might be useful to view me as a coach rather than a teacher, who: • Nurtures existing skills. • Prioritises you in the learning process. • Allows you to practice in a structured environment • Encourages you to challenge your own knowledge.
  • 13. We have setup the course to try and help you as much as possible, but in the end you must take responsibility for your own learning. Learning how to approach topics yourself is a skill that is just as important as any topic in Computer Science, going forward. • If the order of topics we have chosen doesn’t suit your learning style, use other resources to approach the topics in a different way (see the KEATS support procedure). • Unsure about something? Try it out. There is no expectation that you will understand something the first time it is presented to you; go over concepts again in your own time. Seek support as needed (again, see the KEATS support procedure). Set yourself goals: `today I want to build X’. THE FINAL SOLUTION: YOU 13
  • 14. Programming is a very unique discipline, and you have made a good choice to study it. The most creative thing you can do while remaining scientific. I am not your teacher, you are a group of adults learning together with me. • Learn from each other. • I can learn from you. • Be responsible for each other. University is very different from College or 6th Form. • Please don’t call me `sir’. Ultimately, I cannot teach you programming, I can only enable you to teach yourself. SUMMARY: WHAT THIS DIFFICULT RELATIONSHIP TELLS US 14
  • 15. To Summarise And Formalise… 15
  • 16. 4CCS1PPA (Programming Practice and Applications) 2 Semester, 30 credit module • Coursework (50%) • Class Test (10%) • Exam (40%) Lectures every Thursday, 3pm - 6pm, except this week, when we will finish at 5.00pm and resume for the last hour tomorrow at 2pm in the same place. The KEATS page is the hub for information about this module. Search `4CCS1PPA’ on keats.kcl.ac.uk and enrol yourself. THE MODULE 16
  • 17. THE CONTENT (1) 17 Semesters 1 & 2 Java (C++ in second year). General problem solving. Semester 1 (`Practice’ and `Practise’) Object-Oriented design (including combining objects), program control flow, library classes, arrays, data structures and errors. Semester 2 (`Applications’) Graphical User Interfaces, Human Computer Interaction, regular expressions and software development tools. https://www.kcl.ac.uk/nms/depts/informatics/study/current/handbook/ progs/modules/4CCS1PPA.aspx
  • 18. Who is PPA for? Those with no programming experience. Yes. The majority of this course will be aimed at you. Those with some programming experience. Towards the beginning of the course, yes, we will explore object-oriented programming which is typically unfamiliar to students. Other topics will be trivial. Those who have been working for Google for 15 years. Not so much, but we will regularly post `challenging’ problems to a forum on KEATS. Attend APT. Remember: Challenge your own knowledge. • Prior experience is good, but is often just the start. THE CONTENT (2) 18
  • 19. Semester 1 (25%) 10 short coursework exercises, each worth 2.5% of your final grade. Semester 2 (25%) 4 short coursework exercises, each worth 2.5% of your final grade. 1 major piece of coursework, to be completed in groups, worth 15% of your final grade. THE COURSEWORK: OVERVIEW 19
  • 20. Semester 1 One piece of coursework will be released every week, on the Monday following the lecture, and will be due the Monday after. • The first piece of coursework will be released on Monday. • However, it’s only likely that you will be able to complete it until after next week’s lecture, so you will have just over two weeks to complete it. • The remaining pieces of work must be completed within one week to ensure you are practicing programming regularly. Exact deadlines are given on KEATS. Semester 2 Pending. THE COURSEWORK: DEADLINES 20
  • 21. Semester 1 Assignments are designed to test your understanding of the most recent lecture(s), and can be completed in the labs, with the assistance of the TAs. Semester 2 We will continue to test your knowledge incrementally, and then bring the learning of both semesters together in the major piece of coursework. • This piece of coursework will also enable you to explore a wider range of software engineering tools including version control. THE COURSEWORK: CONTENT 21
  • 22. Semesters 1 and 2 We are going to ask you to submit your code using a specialist piece of software called Nexus. • There will be a link to the Nexus submission page for each assignment on KEATS (via King’s Github). Guide on KEATS. • Nexus will allow you to submit your code multiple times, and after each submission will check that your code compiles on our system (so that if it doesn’t you can fix it!), and may provide you with hints about formatting. • However Nexus will not provide you with a mark. • Don’t keep submitting your work after the deadline. This is for late submissions only. • Nexus is experimental. Give us feedback. THE COURSEWORK: MARKING AND FEEDBACK (NEXUS) 22
  • 23. Semesters 1 and 2 After the deadline, we will take the last piece of code you submitted through Nexus, and mark it offline using another piece of software that will recommend a mark to us. • We will share the output of this software with you, as quantitative feedback, before the deadline of the next assignment, but any mark given is provisional. • Don’t upset this software! If it cannot compile your code, you will receive a mark of zero. • Code that works is better than code that is finished. • Check carefully before submitting, and using Nexus, that your code can be compiled. • Still, this mark is only a recommendation, so we will use our discretion, and formalise your marks at the end of the semester. THE COURSEWORK: MARKING AND FEEDBACK (MARKING) 23
  • 24. Semesters 1 and 2 We will ask you to submit some documentation of your code along with your submission, so that we know you understand what your code does. • We will check this documentation at the end of the semester and use its quality to turn your provision mark into a final mark, for each assignment. • Without submitting documentation along with your code, you will receive a mark of zero for that assignment. • A sample piece of documentation will be posted on KEATS to guide you. You must also comment your code, and the quality of your comments will also be used to determine your final mark. Any code or documentation that is found to be similar will result in a harsh penalty (more later). We aim to trial a more interactive version of the Nexus submission and marking tool in Semester 2. THE COURSEWORK: MARKING AND FEEDBACK (CODE DESCRIPTION) 24
  • 25. Semesters 1 and 2 During the laboratory sessions, while you are working on a piece of coursework (e.g. CW2), the TAs will chat to you about the work you just submitted (e.g. CW1). • This discussion does not gain you any marks but is your main opportunity to receive qualitative (e.g. code structure, style and efficiency) feedback on your work. • This discussion is much more important than your mark itself. THE COURSEWORK: MARKING AND FEEDBACK (TA FEEDBACK) 25
  • 26. Class Test (10%) on Wednesday 14th December. • Designed to informally check your progress. Exam (40%) in May 2017. • Designed to test your programming abilities after the whole year. Both are multiple choice, but do not underestimate this format. You must achieve at least 40% (except in exceptional circumstances) in both the examination and the coursework (which includes the class test) components in order to pass the module. THE EXAM 26
  • 27. THE PLACES: S5.33 (5TH FLOOR, STRAND BUILDING) 27
  • 28. THE PLACES: S4.01 (4TH FLOOR, STRAND BUILDING) 28
  • 29. THE PLACES: K4U.13/14 (4TH FLOOR, KING’S BUILDING) 29
  • 30. THE PEOPLE 30 Asad Kostas Kelly Lukas Liana Cheng Diego Shanti Tomas Steffen Syed Martin Sundararam
  • 31. As mentioned, you will find a detailed support procedure on KEATS. Books from the reading list are a good source of practical exercises, but for support for theoretical topics, in all honesty, Google is more efficient. Email queries, if necessary, should be sent to programming@kcl.ac.uk. Our personal email addresses are for administrative issues only. Come and see me during my office hours (generally on Fridays; booking link and exact times on KEATS); I want to meet every single one of you and I want every single one of you to make a good start at learning how to program. • My office hours start next week (3/10), because of tomorrow’s one-off lecture. SUPPORT 31
  • 32. Dr. Martin Chapman programming@kcl.ac.uk martinchapman.co.uk/teaching Programming Practice and Applications (4CCS1PPA) Introduction These slides will be available on KEATS, but will be subject to ongoing amendments. Therefore, please always download a new version of these slides when approaching an assessed piece of work, or when preparing for a written assessment. 32 Thursday 29th September