390 likes | 554 Views
Visual Programming by Muhammad Bilal Zafar (AP). COURSE INTRODUCTION. Visual Programming. Programming in which more than one dimensions is used to convey semantics. Diagrams, icons or demonstration of actions performed by graphical objects.
E N D
Visual Programming by Muhammad Bilal Zafar (AP)
COURSE INTRODUCTION
Visual Programming • Programming in which more than one dimensions is used to convey semantics. • Diagrams, icons or demonstration of actions performed by graphical objects. • It is a methodology in which development allows programmers to grab and use of ingredients like menus, buttons, controls and other graphic elements from a tool box.
Course Description • Introduces key skills of problem solving and visual computer programming, including the elementary programming concepts. • Covers the fundamentals & details of following • Visual language • Iconic and symbolic representations • Debugging techniques • Semantics and pragmatics of desktop applications • Web programming
Course Description.. • Flow of course would be like this • Fundamentals of OOP. • Console based applications using Visual C++. • CLR based programming using Visual C++. • Desktop based applications using MFC and CLR. and in the last part we will see • Visual ASP.NET for web based applications.
Course Objectives • On completion of this course students will have the ability to comprehend • Concepts of OOP • .NET Framework • Visual C++ • ASP.net & C#
Course Objectives.. • Comprehend a programming problem and design a solution. • Code a solution to a problem for both desktop and web based applications using visual tools.
Recommended Books • IVOR HORTON’S BEGINNING VISUAL C++ 2010, by Ivor Horton • ASP.NET 4 24-HOUR TRAINER by Toe.B Right
Reference Books / Readings • OBJECT-ORIENTED PROGRAMMING IN C++, 4th Edition by Robert Lefore • BEGINNING ASP.NET 4: IN C# AND VB by ImarSpaanjaars • For Online Library help • http://msdn.microsoft.com/library/default.aspx
Course Prerequisites • The student is expected to somehow familiar with the programming languages and operating systems concepts.
Assessment & Grading • Marks scheme: • Quizzes + assignments = 30% • Mid Term Exam = 20% • Final = 50%
Programming Languages • Programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. • It can be used to create instruction sets (programs) that can control the behavior of a machine.
Programming Languages.. • Mainly PL has comprised of two components • Syntax • Semantic
Syntax • Set of rules that defines the combinations of symbols that are considered to be correctly structured in that language. • Computer language syntax is generally distinguished into three levels: • Words • Phrases • Context
Semantics • Semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages. • It does so by evaluating the meaning of syntactically legal strings defined by a specific programming language. • Semantics describes the processes a computer follows when executing a program in programming language.
Programming Languages • Generally we can divide the programming languages into two main categories. • High Level Languages • Low Level Languages
Types of Languages.. • High Level Languages • A language that supports system development at a high level of Abstraction thereby freeing the developer from keeping lots of details that are irrelevant to the problem at hand. • Close to human language • Easy to write • Pascal, Fotran, C++, Java, Visual basic, PHP, PERL … etc… • i.eprintf (“Hello World”);
Types of Languages.. • Low Level Languages • Low-level languages are designed to operate and handle the entire hardware and instructions set architecture of a computer directly. • A programming language that provides little or no abstraction from a computer's instruction set architecture. • Generally this refers to either Assembly language or Machine language.
Types of Languages... • Assembly Language • An assembly language is a low-level programming language, in which there is a very strong correspondence between the language and the architecture’s machine code instructions. • Each assembly language is specific to a particular computer architecture • Use Symbolic operation code MOVE 3000,4000// Copy contents of location 3000 to location 4000
Types of Languages... • Machine Language • Fundamental language of the computer processor • All programs are converted into machine language before they executed • Consists of combination of 1’s and 0’s that represent high and low electrical voltage
Programming Types • Programming can be done in different ways but in high level languages there are two major approaches. • Structured Programming • Object Oriented Programming
Structured Programming • Structured programming is a subset of procedural programming that enforces a logical structure on the program being written to make it more efficient and easier to understand and modify. • It is a technique that follows a top down design approach with block oriented structures. • Also known as Modular Programming.
Object Oriented Programming • Object-oriented programming (OOP) is a programming language model organized around • Objects rather than actions & • Data rather than logic language syntax • Objects are usually instances of classes & are used to interact with one another to design applications and computer programs.
Object Oriented Programming.. • OOP organizes program around a real-world entity called an object (Instance). • Classes • A class is a construct that is used to define a distinct type • Attributes • Methods
OOP.. • Main characteristics of OOP • Encapsulation • A language mechanism for restricting access to some of the object's components • A language construct that facilitates the bundling of data with the methods (or other functions) operating on that data.
OOP.. • Inheritance • Inheritance is a way to establish a relationship between objects of the classes. • Polymorphism • It is the ability to create a variable, a function, or an object that has more than one form.
C++ • Developed by BjarneStroustrup starting in 1979 at Bell Labs. • C++ was originally named C with Classes. • The language was renamed C++ in 1983. • It is an intermediate-level language, as it comprises both high-level and low-level features. • C++ is an Object Oriented Programming Language. • However, It is possible to write object oriented or procedural code in the same program in C++.
C++.. • C++ application domain includes following areas • Systems Software • Applications Software • Device Drivers • Embedded Software • High-performance server and client applications • Video Games
C++ Syntax • C++ Programs built from pieces called classes and functions • C++ standard library provides rich collections of existing classes and functions for all programmers to use. • Basic Syntax • Lets see an example program
C++ Program #include <iostream.h> using namespace std; // Comments goes here…. intmain() { cout << "Hello World"; // prints Hello World return 0; }
Program Description #include <iostream.h> • The C++ language defines several headers, which contain information that is either necessary or useful to your program. using namespace std; • It tells the compiler to use the std namespace. • Namespaces allow to group entities like classes, objects and functions under a name.
Program Description.. // Comments goes here…. • It is a single-line comment available in C++. Single-line comments begin with // and stop at the end of the line int main() • This is the line where program execution begins. • Main function with a return type integer.
Program Description... cout << "Hello World"; // prints Hello World • It causes the message “Hello World" to be displayed on the screen. • And its second part after // is a comment. return 0; • This line terminates main( )function and causes it to return the value 0 to the calling process.
C++ Keywords • Some keywords are: • if • else • for • switch • int • float • char • main • class • auto • bool • break • case • default • return Case sensitive Language
Code Editors • Code can be written in any word processor that can create text files. • Can also be written on command line. • Some code editors are • Notepad • Edit pad lite • Text wrangler (For Mac machines only) • Jedit • Vim • Dream Weaver • Net Beans • IDE ????