Foundations of Programming and Problem Solving Introduction
Outlines – Course overview – Teaching style – Assessment – Course information and support – About me – About you – What is a computer programming language? – Different programming languages – Machine code – Assembler – C – Java – PHP – Python – What is Java?
Course overview At the end of this course, you will be able to: Write, compile, debug, test and execute computer programs using Java Use variables to store a program's state Process numbers with arithmetic operators Use loops and logic to control a program Define methods which process data I Define classes and use objects(may be!)
Teaching style Lectures (2 hours) Labs (2 hours)
Assessment Programming assignment 1: 15% Programming assignment 2: 15% Programming assignment 3: 15% Presentation: 10% Problem solving assignment: 15% Exam 30%
Course information and support Office hours (Monday 11am-12pm) Course material: C Or learn.gold The problem solving part will be in learn.gold
About me Lahcen Ouarbya Room 6, 29 st-james Website: Tel:
About you Turn to the person next to you and ask each other the following questions: Have you used a computer program before? Which ones (name 2)? Which problem(s) did you solve with the program? What type of information did you work with? What is a computer program? Now tell the class what your partner said
What is a computer programming language? Again, in the same pairs, answer these questions: Name a computer programming language Have you used a computer programming language before? which ones? What have you used them for? What is a computer programming language? Now tell the class what your partner said
Different programming languages Machine code Assembler C Java PHP Python
Machine code
Assembler Add $r1, $r2, $r3 Sub $r3, $r4, $r5
C #include main(){ printf(Hello world!\\n); }
Java class Test { static void main() { System.out.println(Hello world); }
PHP <? echo ("Hello world!"); ?>
Phyton print("Hello world!")
Java An object orientated programming language A high level, human readable language A cross platform language 'Write once, run anywhere'
18 Software Development Tools We will use a combination of the Dr Java IDE and the Sun Java SDK Source File(s) (.java) Programmer Dr Java IDE Compiler (javac) Class File(s) (.class) Virtual Machine (java) EditBuildRun Program executes Parts of Sun Java SDK Graphical User Interface
19 Program Development Steps Edit and save source code Build source code to create program Run program and evaluate results Errors Classical Waterfall Development Steps
20 Styles of User Interface Graphical User Interface (GUI) – Computer displays a combination of text and graphical symbols offering options to the user – User manipulates mouse and uses keyboard to select from the offered options (hot keys) or to enter text – More common now (computer power is cheap) – Considered by most to be user friendly – Examples: M/S Windows/Office or MAC O/S
21 Software Development Tools Using Sun Java SDK alone Source File(s) (.java) Programmer Compiler (javac) Class File(s) (.class) Virtual Machine (java) Editor Program executes Parts of Sun Java SDK Command Line Interface
First Java Program HelloWorld.java public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World"); }