180 likes | 287 Views
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: Abdulwahab Aljubairy Office Hours: Sat and Sun : 12:00-1:30. Grading.
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?