SCO Introduction to programming. Course description Introduction to programming methodology and problem-solving strategies: the role of algorithms in.

Slides:



Advertisements
Similar presentations
Programming Paradigms and languages
Advertisements

Computers Are Your Future
Professor Michael J. Losacco CIS 1150 – Introduction to Computer Information Systems Programming and Languages Chapter 13.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Computers: Tools for an Information Age
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
© Prentice Hall CHAPTER 3 Computer Software.
Guide To UNIX Using Linux Third Edition
1 Chapter 1 The Big Picture. 2 2 Computing systems are dynamic entities used to solve problems and interact with their environment. They consist of devices,
Programming Concepts and Languages Chapter 12 – Computers: Understanding Technology, 3 rd edition 1November
Introduction to JavaScript Programming With XML and PHP Creating Interactive Web Pages Elizabeth Drake.
CS102 Introduction to Computer Programming
Chapter 01 Nell Dale & John Lewis.
Chapter 13 Programming Languages and Program Development.
Chapter 13 Programming Languages and Program Development 1.
Chapter 1 - VB.NET by Schneider1 Chapter 1 An Introduction to Computers and Visual Basic.NET.
1 Programming Concepts Module Code : CMV6107 Class Contact Hours: 45 hours (Lecture 15 hours) (Laboratory/Tutorial 30 hours) Module Value: 1 Textbook:
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 0 - Introduction to Computers and Programming.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Chapter Lead Black Slide Powered by DeSiaMore Powered by DeSiaMore.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
1 Chapter 1 - An Introduction to Computers and Visual Basic 1.1 An Introduction to Computers 1.2 Using Windows 1.3 Files and Folders 1.4 An Introduction.
The History of Computers
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Chapter 1 - VB.NET by Schneider1 Chapter 1 An Introduction to Computers and Visual Basic.NET.
Chapter 1 - VB.NET by Schneider
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 1 – Car Payment Calculator and Guess the Number.
Chapter 1 - VB 2005 by Schneider1 Chapter 1 - An Introduction to Computers and Visual Basic An Introduction to Computers 1.2 Using Windows 1.3.
Chapter 1 The Big Picture.
Programming Languages 1.07a.  A computer program is a series of instructions that direct a computer to perform a certain task.  A programming language.
Chapter 15 Program Development and Programming Languages.
Computer history By Breanne Larsen. What would you do without a computer? Some of the most popular uses for computers are: – Homework research – Video.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Visual C++ Programming: Concepts and Projects
Web Design and Development for E-Business By Jensen J. Zhao Copyright 2003 Prentice Hall, Inc. Web Design and Development for E-Business Jensen J. Zhao.
Discovering Computers 2009 Chapter 13 Programming Languages and Program Development.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
Chapter 1 Introduction.
Chapter 13 Programming Languages and Program Development.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 4 Computer Software.
History of Computers! Claire Bromm March 28 th, 2012.
1 Chapter 13 Programming Languages and Program Development Tools.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
History of Computer Wyatt Feiling Did you know... The first idea for a computer was in the early 1800s Charles Babbage is the man who is credited with.
 2001 Prentice Hall, Inc. All rights reserved. Chapter 1 – Introduction to Computers, the Internet and the World Wide Web Outline 1.1Introduction 1.2What.
History of Computers March 26, 2012Greer Potadle.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 13 A & B Programming Languages and the.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Chapter 13 Programming Languages and Program Development
Chapter 1 The Big Picture
Chapter 1 – Introduction to Computers, the Internet, and the Web
CSCI-235 Micro-Computer Applications
Programming Concepts and Languages
Objectives Overview Differentiate between machine and assembly languages Identify and discuss the purpose of procedural programming languages, and describe.
Chapter 12 Programming Concepts and Languages.
Chapter 27 WWW and HTTP.
Ada – 1983 History’s largest design effort
Introduction to Computer Programming
and Program Development
Principles of Programming Languages
Chapter 1 - VB.NET by Schneider
Presentation transcript:

SCO Introduction to programming

Course description Introduction to programming methodology and problem-solving strategies: the role of algorithms in the problem-solving process; implementation strategies for algorithms; debugging strategies; the concept and properties of algorithms. Simple data types. Constants and variable declaration. Arithmetic and logical operators. Use of arrays. Working with text files. Program development using a higher level programming language such as C. Use of control structures, functions and procedures. Programming techniques, top down methodology, design, code, debug, & program documentation.

Course Outline

weekTopic/SubTopicRemarks 1Introduction to programming concepts: Programming languages, Algorithms, Pseudocodes, designing programs. 2C fundamentals: Program structure in C, Data types, Keywords, Library files, Variables, Constants 3Operators and Expressions: Arithmetic operations, Unary operators, Comparisons and Logical operators. Expressions and assignments 4Data input and Output: getchar(), putchar(),Scanf(), printf(), gets(), and puts() functions, creating an interactive program in C 5Compiling and running C programs: compiling and executing, debugging errors. 6Control statements: sequential, Decisions, repetitive statements. Examples in C programming: C.A.T 1 on 15 th oct 2010

7Functions: defining functions, Accessing functions, function prototypes, passing arguments to a function, Recursion. 8Program structure: Storage Classes, Automatic Variables, Variable Scope: Global, Local, and Static. Multifile programs, Library files. 9Arrays: Defining an array, processing an array, passing an array to a function, Multidimensional Arrays, Array and strings, practical application of arrays. 10Pointers: Fundamentals, Pointer declarations, Passing pointers to Functions, pointers and one-dimensional Arrays, Dynamic Memory Allocation, Operations on Pointers, pointers and Multidimensional arrays, Arrays of Pointers, passing functions to other functions. 11Structures and Unions: Defining a structure, processing a structure, User-defined data types, Structures and pointers, passing structures to functions, Self-referential structures, unions. 12Data Files: Opening and closing data files, creating and processing data files, unformatted data files. C.A.T 2 on 12 Nov Revision

References Course textbooks: 1.Byron Gottfried (2005), Schaum’s outlines Programming with c 2 nd ed. Tata McGraw-Hill Edition. References: 1.Francis Musembi Kwale(2009), Fundamentals of Programming Using C, 1 st ed. Egerton University Press 2.Kerningam Brian (1998). The C Programming Language. Prentice – Hall. 3.Ravichandran, D. (1995). Programming in C. New Age International 4.Any other relevant books and websites

Introduction Recall what is – Computer – Computer system

Biographical History of Computing 1800s – George Boole – devised Boolean algebra – Charles Babbage – created "analytical engine" – Augusta Ada Byron – first computer programmer – Herman Hollerith – founder of company that would become IBM

1930s Alan Turing – deciphered German code in WWII; father of artificial intelligence John V. Atanasoff – inventor of first electronic digital special purpose computer

s Howard Aiken – built large scale digital computer, Mark I Grace M. Hopper – originated term "debugging"; pioneered development and use of COBOL John Mauchley and J. Presper Eckert – built first large scale general purpose computer, ENIAC

s continued John von Neumann – developed stored program concept Maurice V. Wilkes – built EDSAC, first computer to use stored program concept John Bardeen, Walter Brattain, and William Shockley – developed transistor that replaced vacuum tubes

s John Backus – created Fortran; early user of interpreters and compilers Reynold B. Johnson – invented the disk drive Donald L. Shell – developed efficient sorting algorithm

s John G. Kemeny and Thomas E. Kurtz – invented BASIC Corrado Bohm and Guiseppe Jacopini – proved that any program can be written with only 3 structures: sequence, decision, and loops Edsger W. Dijkstra – stimulated move to structured programming by declaring "GOTO" harmful

s continued Harlan B. Mills – advocated use of structured programming Donald E. Knuth – wrote definitive work on algorithms Ted Hoff, Stan Mazer, Robert Noyce, and Frederico Faggin – developed first microporcessor

s continued Douglas Engelbart – invented computer mouse

s Ted Codd - software architect; laid the groundwork for relational databases Paul Allen and Bill Gates - cofounders of Microsoft Corporation Stephen Wozniak and Stephen Jobs - cofounders of Apple Computer Inc. Dan Bricklin and Dan Fylstra - wrote VisiCalc, the first electronic spreadsheet program

s continued Dennis Ritchie - creator of the C programming language. Ken Thompson - created the Unix operating system Alan Kay – developer of Smalltalk, a pure object- oriented language Don Chamberlain - created a database programming language, later known as SQL,

s Phillip “Don” Estridge - at IBM directly responsible for the success of the personal computer. Mitchell D. Kapor - cofounder of Lotus Corporation Tom Button - group product manager for applications programmability at Microsoft; headed the team that developed QuickBasic, QBasic, and Visual Basic.

s continued Alan Cooper - considered the father of Visual Basic. Tim Berners–Lee - father of the World Wide Web. Charles Simonyi - the “father of Word.” Bjarne Stroustrup - creator of the C++ programming language. Richard M. Stallman - founded Free Software Foundation

s Marc Andreessen - inventor of the Web browser. James Gosling – creator of Java. Linus Torvalds - developed the popular Linux operating system.

s continued Brain Behlendorf, Rob McCool, and Roy Fielding - developers of the Apache HTTP server, an open-source Web server that can scale up quickly to handle high volumes of traffic.

2000s Check from the internet 21 st century discoveries in computers, softwares and the pioneers.

23 Programming Languages: Definition Classification: – Low level: Machine Language Assembly Language – High level Language Procedural Nonprocedural Object-oriented

24 Machine Language The fundamental language of the computer ’ s processor, also called Low Level Language. All programs are converted into machine language before they can be executed. Consists of combination of 0 ’ s and 1 ’ s that represent high and low electrical voltage. NB: Every language must be translated to M.L. before execution of any program.

Recall about Compiler: Separate program that generates programming list (consists of errors) Program that converts entire source program into machine language before executing it Interpreter: Program that translates and executes one program code statement at a time. Does not produce an object

26 Assembly Language A low level language that is similar to machine language. Uses symbolic operation code to represent the machine operation code.

27 High Level Language Computer (programming) languages that are easier to learn. Uses English like statements. Examples are C ++, Visual Basic, Pascal, Fortran and …....

Procedural: Programming instructions to tell computer what to accomplish and how to do it Nonprocedural language -> Programmer specifies only what the program should accomplish; it does not explain how High level language -

Object-oriented (OO) approach The structured programming does not explain how to keep the data and program together Eliminates redundant programming No more spaghetti code Programmer can package data and program (or procedure) into a single unit, called an object (uses the OO approach) OOP is event-driven Checks for and responds to set of events C++ is a complete object-oriented language

OO Programming languages Hundreds of programming languages exist – They are different in flexibility, user interface, and functionality C++ : Classes and events Java and Java applets: Small Java program that runs inside another program such as a Web browser Visual Programming Language – Windows-based application that assists programmers in – developing event-driven Windows-based applications Fifth – generation language – Allows drop and drag of objects – Easy to use Examples: – Visual Basic – Visual Studio/Visual C++/Visual C#.NET Run over the Internet Easier programming development Suitable for large/small – scale applications

Web page program development tools Tools used to create web pages Adding special effects and forms to a Web page – Examples: Cookies, Shopping cards, Games, and many other multimedia effects – Script: Interpreted program that runs on client – Applet: Also usually runs on client, but is compiled – runs faster than script – Servlet: Applet that runs on server – ActiveX control: Small program that runs on client HTML – Hypertext Markup Language – set of special codes used to – create web page- – Not a programming language – Page formatting language – Uses tags an must be kept as an ASCII file

Dynamic HTML: – Allows you to include more graphics and interactivity on Web – page (pointing to a text changes the shape) – Animations, Interactions, Scroll bar, pop-up windows XML: eXtensible Markup Language – Allows Web page developers to create tags that describe data – passed to a client so client, rather than server, can process – data – different platforms can display the same XML XHTML: eXtensible HTML Includes features of HTML and XML WML Wireless Markup Language – Allows Web page developers to design pages specifically for – micro-browsers – Uses the wireless application protocol (WAP) Web page authoring: – Dreamweaver MX, FrontPage, Flash

Common Gateway Interface Program (CGI) – Used for sending and receiving information over the web – Basic Idea: Resides in the server When a search is requested the it is sent to the CGI program The CGI contacts the database and requests the information The CGI receives the information from the database and shows it in HTML format and it is sent to the web browser