© Peter Andreae Introduction to Computer Program Design COMP 102 2016 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington.

Slides:



Advertisements
Similar presentations
Project Lead the Way An Orientation American High School.
Advertisements

Which Course? Where Does Your City University Degree Lead? Dr. Sebastian Hunt Associate Dean.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington UML for design: Class Diagrams.
Creating Interactive Games Your trainer today is: Luke Milner Derbyshire County Council Children and Younger Adults Department.
© Peter Andreae What is Programming About COMP 102 # T1 Peter Andreae Computer Science Victoria University of Wellington.
© Peter Andreae Introduction to Computer Program Design COMP T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington UML for design: Class Diagrams.
1 i206: Distributed Computing Applications & Infrastructure 2012
Introduction to Computer Science CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
SM3121 Software Technology Mark Green School of Creative Media.
CS 1 with Robots CS1301 – Where it Fits Institute for Personal Robots in Education (IPRE)‏
ITP © Ron Poet Lecture 1 1 IT Programming Introduction.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
© Peter Andreae Introduction to Computer Program Design COMP T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington.
© Peter Andreae Introduction to Computer Program Design COMP T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington.
© Peter Andreae Introduction to Computer Science COMP T1. Peter AndreaeDavid Streader ( “Pondy” ) Engineering & Computer Science Victoria University.
Introduction CSE 1310 – Introduction to Computers and Programming
CS 21a: Intro to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
Xiaoying Sharon Gao Mengjie Zhang Computer Science Victoria University of Wellington Introduction to Artificial Intelligence COMP 307.
© Peter Andreae Introduction to Computer Science COMP T1. David Streader Engineering & Computer Science Victoria University of Wellington.
INTRODUCTION TO COMPUTING
© Xiaoying Gao, Peter Andreae Introduction to Computer Program Design COMP T2. Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Summary and Exam COMP 102.
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Marcus Frean School of Engineering and Computer Science, Victoria University of Wellington COMP T2.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.
©Xiaoying Gao, Peter Andreae First Java Program COMP 102 #2 2014T2 Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
Introduction to Programming Using C Introduction to Computer Programming.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
First Java Program COMP 102 #2 2015T2 Xiaoying Sharon Gao Computer Science Victoria University of Wellington.
© Xiaoying Gao, Peter Andreae Introduction to Computer Program Design COMP T2. Xiaoying (Sharon) Gao Computer Science Victoria University of Wellington.
Xiaoying Sharon Gao Computer Science Victoria University of Wellington Intelligent Agents COMP 423.
© Xiaoying Gao, Peter Andreae Introduction to Computer Program Design COMP T2. Xiaoying (Sharon) Gao Computer Science Victoria University of Wellington.
Peter Andreae Engineering and Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington2012 COMP 103.
10-Sep Fall 2001: copyright ©T. Pearce, D. Hutchinson, L. Marshall Sept Recall Objective: understand computers at machine level interested.
CMSC104 Problem Solving and Computer Programming Spring 2011 Section 04 John Park.
CMSC104 Problem Solving and Computer Programming Spring 2009 Sections 0201 & 0301 Ms. Dawn Block.
INTRODUCTION TO PROGRAMMING ISMAIL ABUMUHFOUZ | CS 146.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
CSE 1105 Week 1 CSE 1105 Introduction to Computer Science & Engineering Time: Wed 4:00 – 4:50 Thurs 9:30 – 10:20 Thurs 4:00 – 4:50 Place: 100 Nedderman.
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS Thomas Kuehne School of Engineering and Computer Science, Victoria University of Wellington COMP T2.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
Some Computer Science Conceptual Background Material Doug Hogan This version for UIC Spring 2016 CS 107.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
© Peter Andreae Introduction to Computer Program Design COMP T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington.
Computer Programming for Engineers CMPSC 201C Fall 2000.
1 st PeriodAP Computer Science 2 nd PeriodComputer Science I 3 rd PeriodIntroduction to Programming 4 th PeriodComputer Science I/ Advanced Projects Lunch.
Chapter 1 WHAT IS A COMPUTER Faculty of ICT & Business Management Tel : BCOMP0101 Introduction to Information Technology.
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
CS 1 with Robots CS1301 – Where it Fits Institute for Personal Robots in Education (IPRE)‏
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
Introduction to Computer Science COMP T1. David Streader Engineering & Computer Science Victoria University of Wellington.
Introduction to Computer Science COMP T1 .
Computer Networks CNT5106C
CMSC104 Problem Solving and Computer Programming Fall 2010 Section 01
CS 21a: Intro to Computing I
Introduction CSE 1310 – Introduction to Computers and Programming
Week 1 Gates Introduction to Information Technology cosc 010 Week 1 Gates
Programming COMP104: Fundamentals and Methodology Introduction.
CMSC 104 Problem Solving and Computer Programming Fall 2010
CMSC104 Problem Solving and Computer Programming Fall 2010
CS1301 – Where it Fits Institute for Personal Robots in Education
CS1301 – Where it Fits Institute for Personal Robots in Education
CS1301 – Where it Fits Institute for Personal Robots in Education
CMPT 102 Introduction to Scientific Computer Programming
Presentation transcript:

© Peter Andreae Introduction to Computer Program Design COMP T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae COMP 102 1:2 COMP 102 Menu: Introductions What is COMP102 about? Where does COMP102 fit in your degree? Course organisation What to do NOW! Admin: Handouts: Course Outline Lecture slides 1 Switching to COMP112: see me after the lecture, outside lecture room

© Peter Andreae Lectures Monday, Tuesday, Thursday We have more students than fit in one lecture theatre (about 430!) ⇒ TWO Streams: Stream 1:2pm – 3pm, Kirk LT 303 Stream 2:4pm – 5pm, Maclaurin LT 102 The second stream will be the same lecture, but with more errors fixed!! There is room for up to 70 students to switch from the first stream to the second. COMP 102 1:3

© Peter Andreae COMP 102 1:4 Introductions Course Organiser (Overall course management) Xiaoying Gao (Sharon)Office: CO 333 Lecturers Peter Andreae (Pondy)Office: CO 336 Roman Klapaukh (Roma)Office: CO 230 Senior Tutor (Administrative issues, esp labs) Zarinah AminOffice: CO 343 Programmer Monique Damito to report problems: Tutors (Help in labs or via online help system) Range of Undergraduates and Graduates School Office (Forgotten passwords) CO 358

© Peter Andreae COMP 102 1:5 Computing is everywhere Computer based systems are everywhere user application programs – browsers, photo editors, chat programs social media and mobile phone apps,… computer games Information systems in commerce and business specialised applications – analysing gene data, X-rays, simulations controllers for device – cars, washing machines, TVs, DVD player, etc operating systems that run computers, cell phones, etc. network communication: internet connections, phone exchanges, fibre optics, cell phone systems, etc …. ⇒ Computing underlies almost all aspects of modern life

© Peter Andreae Computer Science Computer Science is the science of Computing The study of the computing processes that happen inside computers when they are working. How do we design, build, analyse systems that deal with information: text numbers graphics and video sound sensor and control signals …. COMP 102 1:6

© Peter Andreae Computer Science Questions How do you…. design a computer system to manage an organisation’s information? design an intelligent assistant for your phone that can talk with you? enable social interaction over communication networks send data securely and reliably over unreliable public networks? manage large teams of programmers building insanely complicated programs (not the way Novopay did!) design algorithms that will create new visual effects for movies design a database so that it is impossible to enter inconsistent data? design programming languages to make programming easier ensure that the computer program controlling a nuclear reactor or a spacecraft never makes a mistake? design a self-driving car that drives safely on city roads? make a safe encryption scheme for electronic commerce? determine whether some computation is tractable or even possible? COMP 102 1:7

© Peter Andreae What is COMP 102? A first course in Computer Science Computer Graphics Software Engineering Network Engineering A required course for Electronic and Computer Engineering An important course for Information Systems Media Design A useful course for Everyone COMP 102 1:8 CS CGRA INFO NWEN ECEN SWEN MDDN CS

© Peter Andreae Why not? To understand the issues and principles of Computer Science, we need to understand and be able to talk about computation. Programming is about specifying the computation that a computer should do We need to be able to write, understand, think about, and analyse programs to address the issues of Computer Science Programming is fundamental to the engineering side of Computer Science. COMP 102 1:9 COMP 102 is not a Computer Science overview

© Peter Andreae What is COMP 102 about COMP 102 is about learning the language and the ways of thinking required for Computer Science, Software Engineering, Network Engineering etc. Programming is about designing new programs, applications, systems by writing the instructions to make a computer behave in the way we want it to. In COMP102, you will design and write lots of little programs for a wide variety of tasks. Gives you a new set of mental tools for addressing problems Different way of thinking from most disciplines Very precise, coping with abstraction and complexity, creative. COMP 102 1:10

© Peter Andreae COMP 102 1:11 Goals of COMP102 By the end of COMP102 you will be able to understand, design, and construct small computer programs (in Java). ⇒ be able to use computers to solve new problems ⇒ be able to think in a new way about problems Note: We don’t assume you have done any programming. COMP102 starts from the beginning (more on this in a moment) Example programs: Bouncing ball simulator diagram editor photo manipulator little game

© Peter Andreae COMP 102 1:12 What does COMP102 cover? Focus of the course: Object Oriented programming and design. Programming with the Java programming language. Java is a widely used programming language Clean enough for learning to program Useful for real programming Strong enough for very large programs Practical programming, writing small programs. Testing and debugging. Principles of good design.

© Peter Andreae COMP 102 1:13 Is COMP102 For You? Required course for Computer Science, Engineering Useful course for anyone who wants to be able to program. Not about using computers and applications software. Not an “easy credits” course for most people Involves higher level thinking skills than many students expect Key factors for success are logical/abstract thinking, being able to think about your own thinking processes problem solving, not memory attention to detail not getting behind Takes time! plan on around 10 hours / week Practical work is critical

© Peter Andreae Should you take COMP112 instead? COMP112: alternative to COMP102 for BE or BSc(COMP) Both courses let you proceed to COMP103 COMP 112 assumes programming experience: variables, loops, conditionals (ifs) input and output writing functions/procedures/methods with parameters lists or arrays little bit of event driven input, object oriented design doesn’t care what language you used COMP112 gives more breadth of coverage of Computer Science also involves more complex programming problems COMP 102 1:14 COMP 102 COMP 112 COMP 103 No programming experience Some programming experience eg level 3 NCEA DT programming standards

© Peter Andreae Switching to COMP 112 If you have the programming experience check out what we expect at Come along to the COMP112 lectures: 3pm Mon Wed Fri in CO LT122 Check out the first assignment in COMP112 See me after a lecture to get switched over Within the first two weeks Bring a change of course form from the science faculty office. COMP 102 1:15

© Peter Andreae COMP 102 1:16 COMP 102 Background We assume you have used a computer We do NOT assume you have done any programming But some students have! good – it is definitely helpful if you have done lots of programming, take COMP112 We try to meet the needs of the full range of students Variety of different help and support available Assignments have graduated components. If you are repeating the course: Do the whole of the assignments, without looking at previous solutions The course will be similar, but there will be changes.

© Peter Andreae COMP 102 1:17 Planning Ahead: COMP 103 If you are doing BE, or BSc (COMP), BSc (CGRA), or BDI minor then you should plan on taking COMP103 in Tri 2. If you are doing BSc (COMP) or BE (SWEN) Plan on doing MATH161 in Tri 2. Required for two 2 nd year courses (COMP261, SWEN224) and many 3 rd year courses. Consider taking ENGR 110 in Tri 2 Required for entry to one 2 nd year course (SWEN223) You don’t need to change enrolment until 2 nd year. You can’t do COMP102 and COMP112 at the same time! You need a B- or better in COMP 102 to get in to COMP 103

© Peter Andreae COMP 102 1:18 Planning Ahead: Computer Graphics If you want to do BSc in Computer Graphics You will need to take COMP102 and 103 CGRA 151 DSDN 132 Three maths courses (two in first year)

© Peter Andreae COMP 102 1:19 Planning Ahead: Mathematics Engineering mathsMathematics maths BE SWEN:ENGR 121, 123orMATH 161, STAT 193 BE NWEN:ENGR 121, 123orMATH 161, 151, STAT 193 BE ECEN:ENGR 121, 122orMATH 151, 142 BSc COMP:ENGR 121, 123 orMATH 161, STAT 193/MATH177 and ??and ?? BSc CGRA:ENGR 121, 123, 122orMATH 151, 142, 161 Which should you take?

© Peter Andreae COMP 102 1:20 Planning Ahead: Mathematics Which should you take? Most students are better off with the Engineering maths option. slower start focused on application of mathematics Students with good mathematics should consider the Mathematics maths option: Opens more options in later years Better background for postgraduate study, especially in computer graphics If you have the following NCEA achievement standards: 3.6 (differentiation, AS91578) and 3.7 (integration, AS91579) one of 3.5 (complex nos, AS91577) or 3.1 (conics, AS91573) or 3.3 (trigonometry, AS91575) or 3.13 (probability, AS91585) or 3.14 (probability distributions, AS91586)). At least 2 standards must be with grades of merit or excellence. If you want to switch

© Peter Andreae COMP 102 1:21 What to do NOW! Sign up for the labs: choose ONE Thu/Fri Lab and ONE Mon/Tue Lab (CO219 or CO238 doesn’t matter) Note: You need to be registered for the course (a) to sign up for a lab (b) to be able to use the school computers Details of course organisation tomorrow