180 likes | 300 Vues
This course provides a comprehensive understanding of programming languages, their structures, and their distinctions from computer programming. Instructor Abdulwahab Aljubairy will cover topics such as language evaluation criteria, including readability, writability, and reliability, as well as the various programming domains like scientific and business applications. The class will have a mandatory attendance policy and will consist of quizzes, homework, and exams, with a strong focus on understanding the differences between programming languages. Prepare for a detailed exploration of both theory and practical applications in programming.
E N D
Programming Languages 3010331-3 Summer 2012-2013
Class Information • Meeting Time: Sat – Sun – Mon 8-10:50 • Class Location: Room 4 , Sacond Floor, Computer College Building • Instructor Name:AbdulwahabAljubairy • Office Hours: Sat and Sun : 12:00-1:30
Grading • Attendence: 5 • Homework: 10 • Quizes: 10 • Mid-Term: 25 • Final: 50
Class Policy • Attendance is mandatory. You have to come on the Beginning of the class. • Cell-phone is NOT allowed. • Cheating is PROHIBITED. • Late Homework is NOT accepted whatever the reason is. • If you missed any Quiz, it means you MISSED IT.
Things you should Bring In Each Class • Binder • Pen • White Paper [ Lined ] • Syllabus • Slides
What is a programming Language? • It is an artificial language designed to communicate instructions to a machine particularly a computer. • Programming languages can be used to create programs that control the behavior of a machine.
Why do need to study this Course if we know how to program? • What is difference between [Computer Programming] and [Programming Languages]?
Reasons to study concepts of Programming Languages • Increased capacity to express programming concepts • Improved background for choosing appropriate languages • Increased ability to learn new languages • Understanding the significance of implementation • Increased ability to design new languages
What is difference between [Computer Programming] and [Programming Languages]? • Computer Programming: • This class teaches you how to program by a specific language by learning the basics and the rules of that language. Ex: C++ • Programming Languages: • This class would expose you on different aspects of the programming languages and teaches you the differences between them. • You should know how to program at least by one language.
What are the differences between Programming Languages? • Names • Variables • Data Type • Scope • Syntax • Semantics • Control Statement
Programming Domains • Scientific applications • Business applications • Artificial intelligence • Systems programming • Web Software. Scripting Languages • Special purpose languages
Language Evaluation Criteria (1) • Readability • The most important criterium • Factors: • Overall simplicity • Too many features is bad • Multiplicity of features is bad • Orthogonality • Makes the language easy to learn and read • Meaning is context independent • Control statement • Data type and structures • Syntax considerations
Language Evaluation Criteria (2) • Writability • Factors: • Simplicity and orthogonality • Support for abstraction • Expressivity • Reliability • Factors: • Type checking • Exception handling • Aliasing • Readability and writability
Language Evaluation Criteria (3) • Cost • Categories • Programmer training • Software creation • Compilation • Execution • Compiler cost • Poor reliability • Maintenance • Others: portability, generality, well-definedness
Language Categories • Imperative • Visual Basic • Functional • Lisp , Scheme, Haskell • Logic • Prolog • Object-oriented (closely related to imperative) • C++, C#, Java
Review • Why Do you study the Programming Languages? • What are the Languages categories? Give some examples of each category? • What are the Programming Domains?