COPYRIGHT2013 Lecture Contents : ‣Architecture and System of Computer (review) ‣ Introduction of Algorithms ‣ Introduction of Programming Language ‣ C Programming Language ‣ Assembly Programming Language ‣ Design Algorithms & Programming Language (practices) These Lectures are using Student Centred Learning (SCL) Methodes Probably , You need use Laptop or CBT to interaction and practices (learning by doing)
3.
COPYRIGHT2013 Architecture and Systemof Computer Hardware Software Brainware Computer : - Interfacing - Communication - Networking Operating System : Windows 98/XP/7, Ubuntu (linux), Android, etc. Programming Language : - Assembler (Machine Language) - Programme Editor & Compiler/Interpreter - GUI (Graphic User Interface) Application Programmes : - Communication/Network & Protocol - Multimedia - Interfacing - Office Tools - Database - etc. USER : Programmer, Operator, Cracker & Hacker, etc.
4.
COPYRIGHT2013 Architecture and Systemof Computer Hardware Software Brainware Computer : - CPU, Memory and I/O-port Interface - Monitor Display - Keyboard Operating System : Windows 98/XP/7, Ubuntu (linux), Android, etc. Programming Language : - Assembler - BASIC - FORTRAN - COBOL - C/C++/C# - JAVA - etc. Application Programmes : - MS-Office - MS-DOS (MS-Windows) - Winamp - Text Editor - Mozilla Firefox - etc. USER : Programmer, Operator, Cracker & Hacker, etc.
5.
COPYRIGHT2013 Introduction of Algorithms ProgrammeInstructions ≈ Source Code statement ≈ Syntax Input Process Output Programme is the source code that have logic and systematically intructions to get right of problem solving. Three main components of programme are input, process and Output.
6.
COPYRIGHT2013 Introduction of Algorithms Algorithmsterminology from : Abu Ja’far Mohammed Ibn Musa Al-Khawarizmi (Al-Jabr W’al-muqabala / Rules of Restoration and Reduction) Algorithms Logical Flow Write down Logical Thinking of each person is different Flowchart Pseudocode Fundamental Algorithm (Knuth 1973)
7.
COPYRIGHT2013 Introduction of Algorithms InputProcess Output Requirement Design Implementation Testing Application Software Development Need Assesment determine of programme that user needed Programme Interface Prototype, unfunctionality Programme Coding Real function Validation and Verification Requirement programme justify Maintenance Update , Back-up, Up-grade, patched etc.
8.
COPYRIGHT2013 Introduction of Algorithms ALGORITHMSTANDARD Donald E. Knuth  Algorithms Criteria : 1. INPUT zero input is undirect input by user, but it’s executing declarated variables. Direct input, user can type in text- box (icon display programme) or using server data-base. 2. OUTPUT minimum : one output for objective programme. It ca be displayed, saved in file/database or saved in clipboard so it can be used (called) on another programme. 3. FINITENESS Absolutly it has to be finished, so it doesn’t hang-up or not responding (unfinitly carry-on). 4. DEFINITENESS it has clearly objectives (what for), when it’s start and when it’s stop. 5. EFFECTIVENESS/EFFECIENCY it doesn’t use memory too much and it has short execute-time.
9.
COPYRIGHT2013 Introduction of Algorithms ALGORITHMTYPE Generally of Basic Algorithm Type: 1. SEQUENCE it has series process, arrangement order. 2. LOOPING/ITERATION it has cycle carry-on, until meet requirement conditions. 3. SPLIT/CONDITION it has fork of choice process, determine of conditions.
10.
COPYRIGHT2013 Introduction of ProgrammingLanguages Programming Languages History Language Description Notes 1st Machine Machine code -> microcode Binary code Fast execution but it’s hard to understand by human 2nd Assembly It’s the Robotic and H/W Interfacing programme language. Simple Code (english) with standard instruction (mov, djnz etc.) for simple Arithmatic-operation like as MUL, SUB, ADD and DIV Fast execution, it’s still hard but more simple than binary/microcode. Programme very long. 3rd High Level Language It’s using Syntax in English to building/programming applications. C, BASIC, FORTRAN and PASCAL Easy to use, Program is short but slowly execution.
11.
COPYRIGHT2013 Introduction of ProgrammingLanguages Language Description Notes 4th Specific Problem Oriented Visually programme : SQL, HTML, Visual Basic, Delphi and Fox-Pro. Application types: Report Generators, Forms Generators (GUI), Computer Aided S/W Engineering (CASE) and Database Query Language. Directly problem oriented but it’s one specific only. 5th Based-on Problem Solving with Constraints Computer programme will be resulting problem-solving by give contraints (define of variable problem and conditions requirement). PROLOG, OPS5 etc. Intelligent system, programmer need another deep- knowledge. Programming Languages History
12.
COPYRIGHT2013 Introduction of ProgrammingLanguages Programming Languages Translation ASSEMBLER File ASM Assembling File EXE / COM Source : Assembly Language Out-put : Executable Machine Language
13.
COPYRIGHT2013 Introduction of ProgrammingLanguages Programming Languages Translation INTERPRETER Source Code Interpreter Machine/Assembly Language Source : High Level Language (3rd – 5th ) Web Script, Java script, PHP, ASP Classic, Visual Basic and Basic. Out-put : Machine/Assembly Language Data input
14.
COPYRIGHT2013 Introduction of ProgrammingLanguages Programming Languages Translation COMPILER Source Code Compiler Object Code Source : High Level Language (3rd – 5th ) C Language, Pacal, Fortran and C++. Out-put : Machine/Assembly Language Linker EXE RESULT Data input Preprocessor Libraries Compile time Runtime
15.
COPYRIGHT2013 Introduction of ProgrammingLanguages Programming Languages Translation COMPILER & INTERPRETER Source Code Compiler Object Code Source : High Level Language (3rd – 5th ) programme.NET and JAVA Out-put : Middle Level Language Linker EXE Interpreter Data input Preprocessor Libraries Compile time Runtime environ ment (O.S.) RESULT
16.
COPYRIGHT2013 Introduction of ProgrammingLanguages TO MAKE A PROGRAMME 1. Define a problem 2. Finding solution / problem solving 3. Determine Algorithm and Data Structure 4. Writing programme platform : Desktop, web and mobile Prog. Lang. : .NET (VB, C#, C++, F#, J#) and Java 5. Validation and Verification 6. Documentation 7. Maintenance