CSCE 314 Programming Languages



Similar documents
Programming Languages

02-201: Programming for Scientists

Syllabus for CS 134 Java Programming

CIS490 Design in Software Engineering. Course Syllabus for the Virtual Class

CS 2302 Data Structures Spring 2015

CSE532 Theory of Database Systems Course Information. CSE 532, Theory of Database Systems Stony Brook University

CS 1361-D10: Computer Science I

CMSC Fundamentals of Computer Programming II (C++)

CS 4240: Principles of Software Design. Course Introduction. Tom Horton

n Introduction n Art of programming language design n Programming language spectrum n Why study programming languages? n Overview of compilation

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ADVANCED DATABASE MANAGEMENT SYSTEMS CSIT 2510

CS 51 Intro to CS. Art Lee. September 2, 2014

Major Topics Covered in the Course

Course: ISYS 4373 Application Development with Java Prerequisite: ISYS 3293

Software Quality. Learning outcomes and evaluation: Students that successfully complete the course will be able to:

USC VITERBI SCHOOL OF ENGINEERING INFORMATICS PROGRAM

Lecture 1: Introduction

CSE 307: Principles of Programming Languages

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

Online Course Syllabus BA452 Management of Human Resources. Important Notes:

CS 649 Database Management Systems. Fall 2011

PSYCHOLOGY 2323 W01 Health Psychology

Course Syllabus 221G CORPORATE FINANCE

Classroom Management & Instruction EDU 163-OL1

BMI 540: Computer Science with Java Programming Oregon Health & Science University

CSCD18: Computer Graphics

The course assumes successful completion of CSCI E-50a and CSCI E-50b, i.e. at least two semesters of programming, with a grade of C- or better.

City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16

I219 Software Design Methodology

Programming Language Concepts for Software Developers

SYLLABUS. BOOK AUTHOR ED YEAR PUBLISHER ISBN# REVIEW Managing Human Resources

NURS 1050 Medical Terminology. Course Description

Foundations of Programming

Math 1314 Online Syllabus. College Algebra

BCS Higher Education Qualifications. Professional Graduate Diploma in IT. Programming Paradigms Syllabus

SYLLABUS. OFFICE AND HOURS: Karnoutsos 536 (Access through K506) M 12, T 1, R 10, 12, 2 or by appointment. I am available by at all times.

DePaul University School of Accountancy and MIS ACC Online

LSC 740 Database Management Syllabus. Description

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

Ursuline College Accelerated Program

COMP252: Systems Administration and Networking Online SYLLABUS COURSE DESCRIPTION OBJECTIVES

CSC 241 Introduction to Computer Science I

How To Teach C++ Data Structure Programming

Software Development Foundations CPSC Spring 2014 Syllabus

INF 203: Introduction to Network Systems (3 credit hours) Spring W1, Class number 9870

COURSE SYLLABUS. ESE 544/444 Project Management

Industrial and Organizational Psychology Psychology 330

CSS 341 : Fundamentals of Programming Theory and Applications Course Syllabus-Autumn 2012

Introduction to Computer Forensics Course Syllabus Spring 2012

I. PREREQUISITES For information regarding prerequisites for this course, please refer to the Academic Course Catalog.

DSCI 3710 Syllabus: Spring 2015

COLLIN COLLEGE COURSE SYLLABUS

Introduction. Mathematics 41P Precalculus: First Semester

Geza Bottlik ISE310L Facilities and Logistics Spring /21/2009 Pre-Requisites: Test Schedule

INFSCI 0017 Fundamentals of Object- Oriented Programming

Emporia State University School of Business Department of Business Administration and Education MG 370 SMALL BUSINESSS MANAGEMENT

CSci 4211: Data Communications and Computer Networks. Time: Tuesday and Thursday 8:15 to 9:30 am Location: Phyics 170 Spring 2015, 3 Credits

Math 1314 Online Syllabus. College Algebra

Programming Languages

Course Outline. 1. COURSE INFORMATION Session Offered Winter 2012 Course Name Mathematics V

Scope of this Course. Database System Environment. CSC 440 Database Management Systems Section 1

Precalculus Algebra Online Course Syllabus

SE 333/433 Software Testing and Quality Assurance

RMTD 404 Introduction to Linear Models

College of Industrial Management. Department of Management and Marketing COURSE SYLLABUS INTERNATIONAL BUSINESS, IMGT 440

CSCI-599 DATA MINING AND STATISTICAL INFERENCE

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

BUS Computer Concepts and Applications for Business Fall 2012

COS 480/580: Database Management Systems

LeMoyne-Owen College. Division of Natural and Mathematical Sciences Programming in Java II, COSI 225 Spring, 2016

through d2l Phone: Office: Ewing 240 Office Hours: Online "Office Hours": Friday 11:00-12:00

PLV Goldstein 315, Tuesdays and Thursdays, 6:00PM-7:50PM. Tuesdays and Thursdays, 4:00PM-5:30PM and 7:50PM 9:30PM at PLV G320

Division of Fine Arts Department of Photography Course Syllabus

Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459)

Financial Calculator (any version is fine but access to a support manual is critical)

BRAZOSPORT COLLEGE LAKE JACKSON, TEXAS SYLLABUS IMED 1316: WEB PAGE DESIGN I COMPUTER TECHNOLOGY & OFFICE ADMINISTRATION DEPARTMENT

EE360: Digital Design I Course Syllabus

CS 40 Computing for the Web

RARITAN VALLEY COMMUNITY COLLEGE COURSE OUTLINE. CISY 103 Computer Concepts and Programming

Datavetenskapligt Program (kandidat) Computer Science Programme (master)

Department of Computer & Information Sciences. INFO-450: Information Systems Security Syllabus

EE411: Introduction to VLSI Design Course Syllabus

University of North Carolina at Greensboro Bryan School of Business and Economics Department of Information Systems and Operations Management

MLIS 7520 Syllabus_Fall 2013 Page 1 of 6

Course Syllabus. Academic Staff Specifics

MGT 5309 FALL 07 LOGISTICS AND SUPPLY CHAIN MANAGEMENT SYLLABUS

IST687 Scientific Data Management

CS A250 (CRN ) C++ Programming Language 2. Syllabus Fall 2015

Course outline. Code: ICT311 Title: Software Development 2

EPI 820/CPH504: Epidemiology in Public Health (Online)

CSE 412/598 Database Management Spring 2012 Semester Syllabus

Some programming experience in a high-level structured programming language is recommended.

Brazosport College Syllabus for Math 1314 College Algebra

: Foundations of Game Programming

Transcription:

CSCE 314 Programming Languages Introduction and Course Administration Dr. Hyunyoung Lee hlee@cse.tamu.edu 410B HR Bright 979-845-2490 1

CSCE 314: Programming Languages Course Homepage http://faculty.cse.tamu.edu/hlee/csce314/ Textbooks 1. Programming in Haskell, Graham Hutton, Cambridge University Press 2. The Java Programming Language, 4th Ed, Ken Arnold, James Gosling, and David Holmes, Addison- Wesley Professional Other Reading Material: See the course homepage 2

CSCE 314: Programming Languages Prerequisites: CSCE 221 CSCE 222 (not official, but desirable) Familiarity with recursion Familiarity with complexity analysis Eager to learn (Enthusiasm) Perseverance Positive, constructive thinking 3

Motivations Ever increasing complexity and the size of modern computer programs Ever increasing time and cost of program development Ever increasing requirements on the correctness of the programs Ever increasing need for a better programmer who learns new languages easily! 4

Course Objectives (1) Understand the fundamental concepts of the programming languages: Broader understanding of language constructs, common abstraction mechanisms, and efficiency consideration Understanding of the basics of how programs written in high-level programming languages are executed, i.e., parsing, internal program representation, type checking, interpretation 5

Course Objectives (2) Understand the fundamental concepts of the programming languages: Encourage the use of formal verification Effective use of the functional programming approach to design and implement programs Understanding of the main features of modern object-oriented languages 6

Course Outline (1) Language Processing Grammars, lexing and parsing Abstract syntax, internal representations Types and type checking Interpretation Basics of an implementation of a simple programming language 7

Course Outline (2) Study of a Functional Language - Haskell Type inference Parametric polymorphism Higher-order functions Algebraic data types Abstract data types and modules Type classes Effects in a pure language 8

Course Outline (3) Study of an Object-Oriented Language - Java Subtyping and inheritance, subtype polymorphism Exception handling Generics, wildcards Reflection Concurrency 9

Grading Homework: 30% Midterm Examination: 30% Final Examination: 30% Quizzes and Exercises: 10% 10

Assignments and Submission Homework will be assigned on approx. biweekly Turn in all work on ecampus using turnitin before the deadline All assignments will be done individually and will include programming, essay-style problems, and problems from the textbook. It is extremely important to read the assignment statements carefully! 11

Assignments (Cont.) Late turn-in will have penalty @25% every 24 hours Genuine difficulties must be discussed with Instructor before the deadline Never cut classes to do your homework Some class time will be devoted to hands-on learning (exercises, help with homework, etc.) 12

Collaboration Policy Acceptable collaboration includes: (1) discussing the assigned problems to better understand their meaning or (2) discussing possible approaches to assigned problems. Explicitly acknowledge any help received from someone and reference every source you use, whether it is a person, a book, a paper, a solution set, a web page or whatever. Unacceptable collaboration includes: (1) copying (verbatim use) of physical papers or computer files (including program files), (2) submission of solutions that are jointly authored, or authored either wholly or in part by other individual, or (3) providing physical papers or computer files (including program files) of your (or third-party) solutions to other individuals. 13

Earning grade in this course Planning to get an A grade? Attend all classes, pay attention in the class, do exercises, do assignments, read book and reading material, participate in the class How to get grade D? Miss classes, do not pay attention in the class, do not do assignments, do not read reading materials 14

Summary Read syllabus on how to conduct in the course We will study fundamentals of programming languages by way of learning two languages - Haskell and Java A lot of fun work in the class Happy learning!! 15