Upload
cody-duffy
View
46
Download
0
Embed Size (px)
DESCRIPTION
CSE:141 Introduction to Programming. Faculty of Computer Science, IBA BS-I (Spring 2010). Lesson Plan. Introduction of the course. Methodology used to conduct this course Topic to be discussed Identify the different components of a computer - PowerPoint PPT Presentation
Citation preview
CSE:141 Introduction to Programming
Faculty of Computer Science, IBABS-I (Spring 2010)
Quratulain 2
Lesson Plan
• Introduction of the course.• Methodology used to conduct this course• Topic to be discussed– Identify the different components of a computer– Know about programming languages and their
categories.– Program Development Process
2/3/2010
3
Course Objective
• Provide solid foundations in the basic concepts of programming.
• Focuses on common computational problem solving techniques.
• Use Java for implementation.
2/3/2010 Quratulain
Quratulain 4
Goals
• Develop skills in– computational thinking– ability to use vocabulary used in programming– ability to map described problem into program
that are appropriate for problems that might occur in practice.
2/3/2010
Quratulain 5
Text/Reference Books• Java: How to program, Deitel and Deitel• Programming and problem solving with Java by Nell Dale and Chip Weems• Introduction to Programming with Java: A Problem Solving Approach by
John Dean, Park University—Parkville and Ray Dean, University of Kansas—Lawrence
• Java: An Introduction to Problem Solving and Programming, 5/E by Walter Savitch
• Kernigan, Brian W. and Dennis M. Ritchie, The C Programming Language, Second Edition (Prentice-Hall, 1988)
• JAVA for Programmers, Paul J. Deitel and Harvey M., DeitelDeitel Developer Series, Prentice Hall
• How to Program Using Java by Tony Jenkins and Graham Hardman Palgrave MacmillanJava in a Nutshell by David Flanagan, O'Reilly Press
2/3/2010
Quratulain 6
Tentative Topics List• Overview of programming• Basic control flow• Functions• Overview and Welcome• Problems, Algorithms and Programs• Variables, Values and Types• Arithmetic Expressions• Input and Output (I/O)• Conditionals• Functions• Function Parameters• Iteration• Loop Development• Complex Conditions
2/3/2010
•Functions and Design•Arrays•Linear & Binary Search•Sorting•Multidimensional Arrays•Structures•Strings•Nested Data Structures•File Input/Output•Program Style•Structuring Program Files•Recursive Binary Search•Recursion•Switch Statement
Quratulain 7
Tools/IDEs
• Java Standard Edition (SE) and JDK 6• Eclipse• Netbeans
2/3/2010
Quratulain 8
Web Resources
• http://java.sun.com/j2se/ (Standard Edition)http://www.eclipse.orghttp://java.sun.com/docs/books/tutorial/java/http://www.javaworld.comhttp://jcp.orghttp://eclipsetutorial.sourceforge.net/totalbeginner.html
2/3/2010
Quratulain 9
Grading Policy
Midterm Exam: 30%Final Exam: 40%Quizzes: 10%Assignments: 10%Term Project: 10%
2/3/2010
Quratulain 10
Contact Information
Instructor: Quratulain Office: Room 12, City Campus Counselling hours: Wednesday and Saturday (2:00 to 5:00)
Cell: 03452324452Office: 111677677 (ext.1325)Email: [email protected]: quratulainrajput.iba.edu.pk
2/3/2010
Quratulain 11
Introduction
• Programs takes input and produce output according to the described instructions.
• Computer has two major component:– Hardware(memory, processor, I/O devices)– Software(system and application programs, compilers)
2/3/2010
Quratulain 12
Software Categories
• A software is the program which contains a list of instructions that a computer uses in order to function.– System Programs
• Programs that are needed to keep all the hardware and software systems running together smoothly.
• Examples: Operating Systems like Linux, Windows, Unix, Solaris, Mac OS
– Application Program• Programs that people use to get their work done.• Examples: Word Processor, Game programs, Spreadsheets
– Compilers• It is a program to transforms high level code into machine level that
is understandable by machines.
2/3/2010
Quratulain 13
Introduction to Programming
• A programming language is a standardized communication technique for expressing instructions to a computer.
• There are different types of programming languages that can be used to create programs such as: Java, Pascal, C, C++, C#, visual basic
• To execute a program regardless of any language instructions are translated into machine language that can be understood by computers.
2/3/2010
Quratulain 14
Categories of Programming Languages• High level Languages
– It is more user friendly, to some extent platform-independent, and abstract from low-level computer processor operations such as memory accesses.
– A programming statement may be translated into one or several machine instructions by a compiler. Examples are Java, C, C++, Basic, Fortran
• Low level– Assembly languages are similar to machine languages, but they are much
easier to program in because they allow a programmer to substitute names for numbers, and each instruction is translated into one machine instruction by an assembler program.
• Note: the term high level and low level are inherently relative, Originally, assembly language was considered low-level and COBOL, C, etc. were considered high-level. Many programmers today might refer to these latter languages as low-level.
2/3/2010
Quratulain 15
Program Development Process
• The basic steps in trying to solve a problem on the computer are:– Problem Definition– Problem Analysis– Algorithm design and representation (Pseudocode
or flowchart)– Coding and debugging
2/3/2010
Quratulain 16
Problem Definition
• The problem must be well and clearly defined first in terms of its input and output requirements.
• A clearly defined problem is already half the solution.
• Computer programming requires us to define the problem first before we even try to create a solution.
Example– “Create a program that will determine the number of
times a name occurs in a list.”2/3/2010
Quratulain 17
Problem Analysis
• After the problem has been defined, the simplest, efficient and effective approach to solve the problem must be formulated.
• Usually, this step involves breaking up the problem into smaller and simpler sub-problems.
Problem:• Determine the number of times a name occurs in a listInput to the program:• list of names• name to look forOutput of the program:• the number of times the name occurs in a list.
2/3/2010
Quratulain 18
Algorithms Design and Representation
• An Algorithm is a clear and unambiguous specification of the steps needed to solve a problem.
• It may be expressed in either Human language (English).
• A graphical representation like a flowchart.• A code representation like a pseudocode.
2/3/2010
Quratulain 19
Expressing Solution Through Human Language
1. Get the list of names2. Get the name to look for, let's call this the
keyname3. Compare the keyname to each of the names in
the list4. If the keyname is the same with a name in the
list, add 1 to the count5. If all the names have been compared, output
the result2/3/2010
Quratulain 20
Expressing Solution Through Pseudocode
• Let nameList = List of Names• Let keyName = the name to be sought• Let Count = 0• For each name in NameList do the following• if name == keyName• Count = Count + 1• Display Count
2/3/2010
Quratulain 21
Expressing Solution Through Flowchart
2/3/2010
Quratulain 22
Coding And Debugging
• Using the algorithm as basis, the source code can now be written using the chosen programming language. This process is called coding.
• The programmer has to add some fixes to the program in case of errors (also called bugs) that occurs in the program. This process is called debugging.
2/3/2010