1 / 33

MULTIMEDIA TECHNOLOGY SMM 3001

MULTIMEDIA TECHNOLOGY SMM 3001. SOFTWARE. Software : Putting computers to work. Content (Textbook Chapter 6) The basics of the programming process The development of programming languages to improve software development

lars
Download Presentation

MULTIMEDIA TECHNOLOGY SMM 3001

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MULTIMEDIA TECHNOLOGYSMM 3001 SOFTWARE

  2. Software : Putting computers to work • Content (Textbook Chapter 6) • The basics of the programming process • The development of programming languages to improve software development • Programming languages that the average user can employ to enhance working with a computer

  3. Software & Programs • A program is a list of instructions that direct the computer’s process • Programs are collectively called software • the computer system executes binary-encoded machine language programs designed for that type of processor • Programs are developed and written using symbolic programming languages which are easier to comprehend and use.

  4. Categories of programming language • There’re 5 major categories of programming languages : • A low level languages • Machine languages (1st Gen.) • Use a series of binary digits • Assembly languages (2nd Gen.) • Program written using symbolic instructions code or mnemonics – meaningful abbreviations & codes

  5. Categories of programming language (con’t) • There’re 5 major categories of programming languages : • A high level languages • Procedural languages (3rd Gen.) • Tell the computer what to accomplish and how to do it • A compiler converts the entire source program into machine language before executing it • An interpreter reads a code statement, converts it to one or more machine language instructions and then executes those machine language instructions

  6. Categories of programming language (con’t) • There’re 5 major categories of programming languages : • A high level languages • Non-Procedural languages (4th Gen.) • Programmer specifies only what the program should accomplish without explaining how • Eg. SQL (structured query language) • 5th Gen. Languages • Provides a visual or graphical interface for creating source code

  7. A sample program

  8. The software development cycle • Analyzing and understanding the problem • Devising a plan to solve the problem • Creating an executable program that implements the plan • Testing and correcting the program

  9. Analyzing the task • To design and create a program, a programmer must : • foresee the complete process • envision the sequence of events that would implement it • understand the task in general terms as well as specific cases

  10. Devising the plan • The plan is expressed by an algorithm which expresses : • what information is needed to perform the task • exactly what events are needed to complete the task • the precise sequencing of events to complete the task reliably

  11. Algorithms • Algorithms may be expressed using a variety of methods and techniques • Pseudocode

  12. Algorithms • Flowchart • Symbols that show the sequencing of important events that comprise the overall process A Flowchart

  13. Coding the program • Coding is the translation of the algorithm(s) into executable programs • Most programs are written in high-level programming languages which are more abstract than binary machine languages

  14. Testing and debugging • Testing • program components and programs are thoroughly tested for reliability • reliability is not validity (certified correctness) • programs are released in several versions (e.g., alpha, beta)

  15. Testing and debugging • Debugging • “Bugs” are errors that result from faulty plans, misunderstandings, coding mistakes, etc. • correcting errors in programs is called “debugging”

  16. Complexities of software development • Complexities of the problem domain • processes and tasks are difficult to understand • Complexities in programming • translating tasks into effective processes performed by computers can be difficult • Complexities of the process itself • software systems often behave differently from the processes that they imitate

  17. Developing commercial software • The scale of modern software systems require division of labour • System analysts are responsible for planning, designing, and overseeing software projects • Programmers work in groups to implement the overall design • Software quality assurance groups conduct independent testing

  18. High level programming languages (HLLs) • HLLs are generally preferred for software development because they have 3 basic characteristics : • are more abstract • are more concise • are portable to other processors • must be translated to the machine language of the host processor • interpreters--translate and execute one instruction at a time • compilers--translate the entire program to executable form

  19. Imperative procedural languages • paradigm based on how the processor operates • programs composed of units or modules called procedures • Each procedures usually defines a smaller task to be done • The sequence of smaller tasks or subtasks comprise the main process • statements are instructions

  20. Imperative procedural languages • The order of statements in a procedural language program is critical • Imperative or procedural resemble closely machine language

  21. Imperative procedural languages (con’t) A Pascal program

  22. Object-oriented languages • paradigm is more abstract than I-P HLLs • programs are composed of units called objects • objects interact, send and receive messages, inherit and possess attributes

  23. Object-oriented languages (con’t) A portion of java applet

  24. Non-procedural programming languages • Alternative paradigms • Programs are not understood as a sequence of events or actions • Eg. LISP (a list of processing language), Prolog & FP • LISP & Prolog are popular languages for the discipline of artificial intelligence (AI)

  25. Non-procedural programming languages (con’t) Prolog

  26. End user programming languages • offer tools and features that simplify programming • produce scripts that handle user and process events • often employ a visual programming tools for constructing interfaces

  27. End user programming languages (con’t) Visual Basic

  28. Programming Languages • Hundreds of programming languages exist • Most programming languages are high level languages • Although the JAVA programming are widely used today, it originally was used primarily for web development

  29. Programming languages • BASIC • Short for Beginner’s All Purpose Symbolic Instruction Code (BASIC) • Developed in mid 1960s • Many versions of BASIC exist, including QBasic, QuickBasic and MS-Basic

  30. Programming Language • Visual Basic • Developed by Microsoft Corp in the early 1990 • VB is windows-based application • The 1st step in building a VB application is to design the graphical user interface using VB objects

  31. Programming Language • C • Developed in early 1970s by Dennis Ritchie at Bell Laboratories • Originally designed for writing system software • Is a powerful language that requires professional programming skills

  32. Programming Language • C++ • Developed in the 1980s by Bjarne Sroustroup at Bell Laboratories • Object oriented programming • Extension of C programming languages

  33. Multimedia Program Development • Multimedia Authoring software allows you to combine text, graphics, animation, audio, and video into an interactive presentation • Popular packages include Toolbook, Authorware, Director

More Related