SlideShare a Scribd company logo
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

More Related Content

What's hot

Personal Development Project
Personal Development Project Personal Development Project
Personal Development Project
Gaby Wohead
 
Photoshop lesson 1
Photoshop lesson 1Photoshop lesson 1
Photoshop lesson 1
ahunneyball
 
Making Lesson Plans
Making Lesson PlansMaking Lesson Plans
Making Lesson Plans
Matthew Leingang
 
Instructional technology Final project
Instructional technology Final projectInstructional technology Final project
Instructional technology Final project
Kelly
 
2CPP01 - Intro to Module
2CPP01 - Intro to Module2CPP01 - Intro to Module
2CPP01 - Intro to Module
Michael Heron
 
Photoshop Lesson 4
Photoshop Lesson 4Photoshop Lesson 4
Photoshop Lesson 4
ahunneyball
 
Giving Better Presentations
Giving Better PresentationsGiving Better Presentations
Giving Better Presentations
Patrick Lowenthal
 
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
Alfredo Prieto Martín
 
Katie's Technology Lesson Presentation
Katie's Technology Lesson PresentationKatie's Technology Lesson Presentation
Katie's Technology Lesson Presentation
nykates85
 
Software Development
Software DevelopmentSoftware Development
Software Development
Miles Berry
 
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
Stanly Lau
 
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
rowenaausa
 
11 skills you need
11 skills you need11 skills you need
11 skills you need
Sue Fox
 
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
desraya
 
Rubyslava 28.08.2014
Rubyslava 28.08.2014Rubyslava 28.08.2014
Rubyslava 28.08.2014
Jan Herich
 
Capstone PowerPoint Presentation: Effective Guide
Capstone PowerPoint Presentation: Effective GuideCapstone PowerPoint Presentation: Effective Guide
Capstone PowerPoint Presentation: Effective Guide
Capstone Project
 
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
 
Turning Point: Getting Started
Turning Point: Getting StartedTurning Point: Getting Started
Turning Point: Getting Started
The University of Manchester
 

What's hot (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
 

Similar to Programming in Java: Introduction

Student Survey Nov 2022
Student Survey Nov 2022Student Survey Nov 2022
Student Survey Nov 2022
Peter Windle
 
Teacher toolkit Pycon UK Sept 2018
Teacher toolkit Pycon UK Sept 2018Teacher toolkit Pycon UK Sept 2018
Teacher toolkit Pycon UK Sept 2018
Sue Sentance
 
Guidelines for e-learning project
Guidelines for e-learning projectGuidelines for e-learning project
Guidelines for e-learning project
Daria Bogdanova
 
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
 
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
Esther Seyffarth
 
Examination Skills (PDF)
Examination Skills (PDF)Examination Skills (PDF)
Examination Skills (PDF)
PiLNAfrica
 
Examination Skills
   Examination Skills   Examination Skills
Examination Skills
Saide OER Africa
 
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!)
SuSherba
 
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
D2L Barry
 
Unit 1 Sink or Swim
Unit 1 Sink or SwimUnit 1 Sink or Swim
Unit 1 Sink or Swim
Mickielty
 
Module 1 PBL Mini Series
Module 1 PBL Mini SeriesModule 1 PBL Mini Series
Module 1 PBL Mini Series
Courtney Cunningham
 
Tracking and monitoring learners in MOOCs
Tracking and monitoring learners in MOOCsTracking and monitoring learners in MOOCs
Tracking and monitoring learners in MOOCs
EUmoocs
 
Emma evaluation package webinar
Emma evaluation package webinarEmma evaluation package webinar
Emma evaluation package webinar
EUmoocs
 
Ev3 teachers guide web
Ev3 teachers guide webEv3 teachers guide web
Ev3 teachers guide web
Arif Budiman
 
Ev3 teachers guia
Ev3 teachers guiaEv3 teachers guia
Ev3 teachers guia
WebMD
 
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)
Marina Santini
 
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
Tuancute
 
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
Tansy Jessop
 
Domain Powerpoint for ACE.pptx
Domain Powerpoint for ACE.pptxDomain Powerpoint for ACE.pptx
Domain Powerpoint for ACE.pptx
JoseArregui2
 

Similar to 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 guide web
Ev3 teachers guide webEv3 teachers guide web
Ev3 teachers guide web
 
Ev3 teachers guia
Ev3 teachers guiaEv3 teachers guia
Ev3 teachers guia
 
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
 

More from Martin Chapman

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
Martin Chapman
 
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
Martin Chapman
 
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...
Martin Chapman
 
Technical Validation through Automated Testing
Technical Validation through Automated TestingTechnical Validation through Automated Testing
Technical Validation through Automated Testing
Martin Chapman
 
Scalable architectures for phenotype libraries
Scalable architectures for phenotype librariesScalable architectures for phenotype libraries
Scalable architectures for phenotype libraries
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
 
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
 
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
Martin Chapman
 
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
Martin Chapman
 
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
Martin Chapman
 
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
Martin Chapman
 
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
Martin Chapman
 
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
Martin Chapman
 
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...
Martin Chapman
 
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...
Martin Chapman
 
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
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
 
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
Martin Chapman
 
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
Martin Chapman
 

More from 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
 

Recently uploaded

Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
National Information Standards Organization (NISO)
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Denish Jangid
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Fajar Baskoro
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
Nguyen Thanh Tu Collection
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Diana Rendina
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
PECB
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
Wahiba Chair Training & Consulting
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
EduSkills OECD
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
haiqairshad
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
Himanshu Rai
 

Recently uploaded (20)

Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
Chapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptxChapter wise All Notes of First year Basic Civil Engineering.pptx
Chapter wise All Notes of First year Basic Civil Engineering.pptx
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
 
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skillsspot a liar (Haiqa 146).pptx Technical writhing and presentation skills
spot a liar (Haiqa 146).pptx Technical writhing and presentation skills
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
 

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