csc 120 introduction to programming dr andreas loizides [email protected] c.cy ...

22
CSC 120 Introduction to Programming Dr Andreas Loizides [email protected] llege.ac.cy www.cs.ucl.ac.uk/ staff/A.Loizides/ CSC120

Upload: louise-johnston

Post on 12-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

CSC 120Introduction to Programming

Dr Andreas [email protected]

www.cs.ucl.ac.uk/staff/A.Loizides/CSC120

Page 2: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

Course BooksProgram Development and Design Using C++ by Gary BronsonISBN 0534 37130 2

Problem Solving using C++ by Walter Savitch.ISBN 0-201-70390

Page 3: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

Supplementary Text

SAMS Teach Yourself C++ in 21 Days Complete Compiler Edition £30ishISBN: 0672315645Includes student edition of Visual C++ 6.0

AlsoSimple Program Design, Third Edition Robertson ISBN: 0-619-01590-X 

Page 4: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

What is computer programming?

Getting a computer to do what would be extremely time consuming and inaccurate if a person was to do it.

OR

Processing input data to produce an output.

Page 5: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

The Problem is that computing

Is very different from what many of you have done before. Is the least “doable” subject from books.Needs creative problem solving (thinking)Needs courage and confidenceNeed good organisation

Page 6: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

What sort of problems?

Typically entails handling vast amounts of information in a small time.For example

Information systems Customer orders, Bank accounts

Games Quake, Tomb Raider

Scientific/Engineering Applications Weather forecast, fracture analysis

Control Systems – Washing machines to Nuclear power stations.

Systems Programming Operating systems

Applications Programming Word Excel

Page 7: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

Why, What, How, Where and When

Why are you learning to program? What will you learn? How will you learn? How will you be

assessed? Where will you learn? When will you learn?

Page 8: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

Why are you learning to Program? Or what’s in it for me?

For pure academic interest (!!!) To get a job Because it is a core subject and

you wont get a degree in computing unless you pass it

Page 9: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

Why are you learning to Program? Or What’s in it for me?

Because it impacts on every subject you take, the programming principles you learn are applicable to other areas. Multi-media, information systems,

computing, AI, Computer Systems.

It leads on to level 2 and level 3 modules whether you go the object oriented route or the procedural route.

Page 10: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

Why C++

Supports procedural programming and object oriented programming.

C/C++ de-facto industry standard programming language.

It works on our network (I hope!) It is extremely powerful!!!

Page 11: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

Why C++

Friendly development environment and good debugging tools.

Cheap for student edition C++ rather than C because I/O

friendlier, stronger typed, easier introduction of functions. Supports Object oriented programming

Page 12: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

What you will learn?

Learn to program a computer using a high level programming language.

Learn to program procedurally and Learn basics of object oriented programming

Learn good practice

Page 13: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

What you will learn?

Develop a basic set of problem solving techniques

Learn how to interpret basic compiler error messages

Learn how to test your programs Learn to use basic debugging tools Learn how large amounts of information

impact on programs; the need for data structures and algorithms.

Page 14: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

Overall Syllabus Goal (Semester 1)

You can analyse, model, and produce a solution to a problem. You can implement this solution in C++. You can verify the quality of the solution.

Page 15: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

How will you learn?

YOU will have to take responsibility for learning to program by doing it. IT CAN NOT BE CRAMMED!

You have 100+ contact hours allocated to programming, you are expected to at least match contact hours with non contact.

Page 16: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

How will you learn?

Lectures with demonstrations, pre-tutorial exercises, tutorials.

You have course books that most exercises and tutorials will be sourced from.

Page 17: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

How will you learn? Lectures/Tutors, are there to get

you out of holes, and give one to one advice on techniques. Suggest approaches to problems NOT solve problems for you.

Lecturers/Tutors are there to answer any questions on written pre-lab and lab-exercises.

Tutors should not have to lecture.

Page 18: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

How will you be assessed?

Your tutors will give you an impression mark for what you have done in a tutorial. This mark is affected by your pre-tutorial work. This will be worth 50% (for the CSC150 module)

You will have to show your pre-lab exercises and specified lab exercises.

The tutors mark sheet is the ONLY evidence of your work that will be accepted.

Page 19: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

How will you be assessed? Working at home/in other times. You MUST do

this if you want any success. Do not simply rely on exercises I set, work from your book. Unfortunately though because of the burden of proof needed only the work done in tutorials will be marked.

You will be given one assignment with a total worth of 15% for the CSC120 module.

You will also be assessed on your everyday effort, participation and homework (10% of the CSC120 module).

Page 20: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

How will you be assessed?

You will have to do one midterm exam (25% of your CSC120 module) and two final exams. One on paper for the CSC120 module and a practical exam (in the lab) for the CSC150. Both worth 50% of the individual module.

Page 21: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

Resources and To Do List! Check out my web site

www.cs.ucl.ac.uk/staff/A.Loizides/CSC120 . I will post pre-tutorial questions, tutorial questions and Links to other resources.

You may want to purchase your own copy of the student edition of Microsoft visual C++ Version 6.0 or higher (Current version in the lab is Visual Express 2005 free to download from the Internet). It is available on some books. E.g. SAM Teach Yourself C++ in 21 days Complete Compiler Edition

Page 22: CSC 120 Introduction to Programming Dr Andreas Loizides a.loizides@faculty.pacollege.a c.cy  des/CSC120

Resources and To Do List!

Summary Get your computer account organised. Visit my web site. Read the main page

and go to the exercises page and the lectures page.

Buy a Course book and do initial pre-tutorial work.

Buy memory sticks to take your work home etc.