WELCOME TO COP 4020 PROGRAMMING LANGUAGES I Professor Gary T. Leavens 437D Harris Center (Bldg. 116) Phone: (407)823-4758 Email: leavens@eecs.ucf.edu Office Hours: URL: http://www.eecs.ucf.edu/~leavens/COP4020 Pick up handouts: ( of them) PROGRAMMING LANGUAGE def: a *programming language* is a language that is def: a *general-purpose language* is one that is not tailored to some particular application area. Examples: def: a *special-purpose language* is a language that is designed to support some particular application. Examples: COURSE OBJECTIVES Quickly Learn Master Evaluate LEARNING OUTCOMES Concepts Use Models Evaluate Models Map To Languages PLAN FOR THE COURSE First two weeks, decide on what to learn during the semester. Broad outline: - overview - functional programming - parallel or concurrent programming - distributed or relational programming We will use "real" languages to help you evaluate them and learn about learning them COMPUTATION MODELS def: A *computational model* is a very small programming language that provides primitives necessary for computation. Properties of computation models (Abelson et al) data (operations, means of computation), structuring mechanisms (means of combination), abstraction mechanisms (means of abstraction) Examples: PROGRAMMING MODELS def: A *programming model* (or *paradigm*) is a programming language together with: Examples: GRADING + No curve grading + Your grade is 65% based on tests 30% on homework 5% class participation COOPERATION Can talk with others about homework - but must cite them Can cooperatively do homework - but must use a "group" in webcourses2 (see grading policy for details) CHEATING Exchange of finished answers - without cooperation in solving them - without certification Using ideas of others - without citation Copying answers from the web - without citation