Programming Languages Summer
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
Attendence: 5 Homework: 10 Quizes: 10 Mid-Term: 25 Final: 50
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.
Binder Pen White Paper [ Lined ] Syllabus Slides
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.
What is difference between [Computer Programming] and [Programming Languages]?
1. Increased capacity to express programming concepts 2.Improved background for choosing appropriate languages 3. Increased ability to learn new languages 4. Understanding the significance of implementation 5. Increased ability to design new 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.
1.Names 2.Variables 3.Data Type 4.Scope 5.Syntax 6.Semantics 7.Control Statement
1.Scientific applications 2. Business applications 3.Artificial intelligence 4. Systems programming 5. Web Software. Scripting Languages 6. Special purpose languages
1.Readability – The most important criterium – Factors: 1. Overall simplicity 1. Too many features is bad 2. Multiplicity of features is bad 2. Orthogonality 1.Makes the language easy to learn and read 2.Meaning is context independent 3.Control statement 4.Data type and structures 5.Syntax considerations
2.Writability – Factors: Simplicity and orthogonality Support for abstraction Expressivity 3.Reliability – Factors: Type checking Exception handling Aliasing Readability and writability
4.Cost – Categories Programmer training Software creation Compilation Execution Compiler cost Poor reliability Maintenance 5.Others: portability, generality, well-definedness
1.Imperative – Visual Basic 2. Functional – Lisp, Scheme, Haskell 3. Logic – Prolog 4. Object-oriented (closely related to imperative) – C++, C#, Java
Why Do you study the Programming Languages? What are the Languages categories? Give some examples of each category? What are the Programming Domains?