Maalot Educational Network | Evaluated Learning Experience
Programming Languages and Python (COS351) (Formerly Programming Languages (COS351); Programming Languages (CMP330))
Version 1: 42 hours (14 weeks); Version 2: 39 hours (13 weeks).
Version 1: February 1990 - January 1997. Version 2: February 1997 - Present.
Version 1: Upon successful completion of the course, students will be able to: write programs in the various languages covered; be familiar with the special features in specific languages; and understand various aspects of language implementations. Version 2: Upon successful completion of the course, students will be able to understand the benefits of studying programming languages and the advantages and disadvantages to each language; differentiate between different languages in the way they define variables using scope and binding; differentiate between types of control structures; know how the different data types are used and how the computer allocates memory for them; write programs in Scheme, demonstrating the use of a functional programming language; write programs in Prolog, demonstrating the use of a logical programming language; install necessary software that will enable Python programming; master I/O, variable usage and commenting; demonstrate the ability to write Python programs using comparisons, logic and proper string usage; incorporate simple data structure usage and iteration into Python programs; be able to write object oriented Python programs and incorporate external libraries; write scripts to automate simple tasks using Python; collect and analyze data from the web using complex pattern matching, and present in appropriate manner; demonstrate mastery of Python programming techniques in a comprehensive programming project.
Version 1: Major topics are formal definitions of programming languages and specification of syntax and semantics; global properties and algorithmic languages, including scopes of declaration, storage allocation, binding time, subroutines, and co-routines; list processing; string manipulation; data description; and simulation languages. Methods of instruction include discussion, lecture, laboratory, examinations, and programs. Prerequisites: Introduction to Computers and one other programming language. Version 2: This course is composed of two parts: to introduce some of the basic constructs of contemporary programming languages, and the tools necessary for critical evaluation of a programming language, master basic Python programming in order to gain hands-on exposure to an interpreted, object-oriented, dynamic language. Prerequisites: Introduction to Computers and one other computer language. Methods of instruction include lecture, discussion and lab, projects and final exam.
Version 1 and 2: In the upper division baccalaureate degree category, 3 semester hours in Programming Languages or Computer Science elective (12/91) (2/97) (2/11) (4/16 revalidation) (3/21 revalidation).