Programming Languages CSCE

Similar documents
CSCE 441 Computer Graphics Fall 2018

CSCE 206: Structured Programming in C

ESET 369 Embedded Systems Software, Spring 2018

ESET 349 Microcontroller Architecture, Fall 2018

ESET 369 Embedded Systems Software, Fall 2017

CSC 111 Introduction to Computer Science (Section C)

CSCI 434 INTRODUCTION TO LOCAL AREA NETWORKS (SPRING 2015)

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

Cleveland State University

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

Math 2280: Introduction to Differential Equations- Syllabus

CSCI 201L Syllabus Principles of Software Development Spring 2018

San Jose State University - Department of Computer Science

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

Sprint 2017, Sul Ross State University

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

Course and Contact Information. Course Description. Course Objectives

ECE Object-Oriented Programming using C++ and Java

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

ISM 324: Information Systems Security Spring 2014

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015

CSCE 5013: Cloud Computing Spring 2017

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

Dr. Angela Guercio Dr. Natalia Dragan. Spring 2011

San Jose State University College of Science Department of Computer Science CS185C, Introduction to NoSQL databases, Spring 2017

Business Information System Analysis and Design Fall 2017

Course and Contact Information. Course Description. Course Objectives

San Jose State University College of Science Department of Computer Science CS185C, NoSQL Database Systems, Section 1, Spring 2018

Developing Web Applications and Services Course Syllabus Fall 2015

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007

CSci 4211: Data Communications and Computer Networks. Time: Monday and Wednesday 1 pm to 2:15 pm Location: Vincent Hall 16 Spring 2016, 3 Credits

INFS 2150 (Section A) Fall 2018

Introduction to UNIX

CMPS 182: Introduction to Database Management Systems. Instructor: David Martin TA: Avi Kaushik. Syllabus

Configuring Advanced Windows Server 2012 Services (ITNW 1372)

Windows Server 2008 Applications Infrastructure Configuration (ITMT 2322)

CMPE/SE 135 Object-Oriented Analysis and Design

CMSC 132: Object-Oriented Programming II. Administrivia

CSE 504: Compiler Design

Object-Oriented Programming for Managers

INST Database Design and Modeling - Section 0101 Spring Tentative Syllabus

TEACHING & ASSESSMENT (T & A) PLAN College of Economics Management and Information Systems Department of Information Systems

San José State University College of Science / Department of Computer Science Introduction to Database Management Systems, CS157A-3-4, Fall 2017

Programming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

VE281 Data Structures and Algorithms. Introduction and Asymptotic Algorithm Analysis

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims

Marshall University MTH 100 Syllabus

CIS SP Microcomputer Operating Systems Course Syllabus

Course and Contact Information. Catalog Description. Course Objectives

When does RDBMS representation make sense When do other representations make sense. Prerequisites: CS 450/550 Database Concepts

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

Object Oriented Programming Using C++

EE6364 Advanced Data Networks

University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development

CPSC 5157G Computer Networks

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Fall 2017

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018

Geography 3300: Transportation Security

SWE3004: Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Gerlinde Brady Phone: Office Hours: see Web at:

CMPE 152 Compiler Design

CPSC 2380 Data Structures and Algorithms

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345

CSc 2310 Principles of Programming (Java) Jyoti Islam

Spring CISM 3330 Section 01D (crn: # 10300) Monday & Wednesday Classroom Miller 2329 Syllabus revision: #

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

San José State University Computer Science CS 122 Advanced Python Programming Spring 2018

Syllabus -- CIS Computer Maintenance / A+ Certification

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques

Compilers. Computer Science 431

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

Syllabus. Computer Science Information Technology 975. Information Storage and Management for Computer Networks

CS2013 Course Syllabus Spring 2017 Lecture: Friday 8:00 A.M. 9:40 A.M. Lab: Friday 9:40 A.M. 12:00 Noon

San José State University Department of Computer Science CS-174, Server-side Web Programming, Section 2, Spring 2018

Computer Technology Division. Course Syllabus for: COMT Spring Instructor: Joe Bolen

CS 0449 Intro to Systems Software Fall Term: 2181

Syllabus Revised 01/03/2018

ECOM 2314 COMPUTER PROGRAMMING II

Introduction to Computer Systems

San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 1 & 2 Spring Semester, 2018

CS157a Fall 2018 Sec3 Home Page/Syllabus

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

MWF 9:00-9:50AM & 12:00-12:50PM (ET)

CSci 4211: Introduction to Computer Networks. Time: Monday and Wednesday 2:30 to 3:45 pm Location: Smith Hall 231 Fall 2018, 3 Credits

CPSC 4600 Biometrics and Cryptography Fall 2013, Section 0

Syllabus of ENPM 691: Secure Programming in C

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

THE UNIVERSITY OF TEXAS AT AUSTIN MIS373 e-discovery and Digital Forensics SPRING 2015 Unique#: (03883) VERSION: 1/23/2015

CS 111: Programming Fundamentals II

EEL 4930/5934 Advanced Systems Programming - Spring 2017

Advanced Topics in Database Systems Spring 2016

ECE 4450:427/527 - Computer Networks

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

Introduction to Information Technology ITP 101x (4 Units)

Transcription:

Programming Languages CSCE 314 500 Class schedule: MW, 04:10pm 05:25pm Room: HECC 100 Homepage: http://courses.cs.tamu.edu/gdr/2013/314/ Prerequisite: CSCE 221 Instructor: Dr. Gabriel Dos Reis (gdr@cse.tamu.edu) Office: 410C H. R. Bright Building Office hours: By appointment Teaching Assistant: Gabriel Foust (gfoust@cse.tamu.edu) Office: HRBB 423C Office hours: Tue, Wed, Thu, 10:00am 11:00am 1 Course Description This is an introductory class to programming language design. It explores the design space of programming languages via an in-depth study of two programming languages, one object-oriented (Java), one functional (Haskell); focuses on idiomatic uses of each language, and on features characteristic for each language. 1

2 Course Outcome This course aims to deepen understanding on the concepts and features of programming languages, and how programming languages work. After a general overview of language processing, we study the features of Haskell, focusing on what constitutes a functional programming language. Non-exhaustive list of what follows is: Types, static typing and type inference Parametric polymorphism Higher-order functions, closures Recursive types and functions Algebraic data types Abstract data types and modules Type classes Effects in a pure language The Java portion of the class focuses on the major features of a modern object-oriented programming language, and focuses on interesting language features and the language infrastructure of Java, including: Subtyping and inheritance Subtype polymorphism Exception handling Generics, wildcards Reflection Concurrency 2

Programming languages are a very large area. The course aims at providing an understanding of the use, efficiency considerations, and implementation approaches of common abstraction mechanisms and language constructs in modern programming languages. I hope that the course will allow you to more effectively use the languages of today, make it easier for you to learn new programming languages in the future, and possibly get excited about contributing to research and development in the area of programming languages in the future. Even though we use and study two specific programming languages, Haskell and Java, learning more of these languages should be considered as a nice side benefit of the course, not the main goal. 3 Textbooks and resource materials The following textbook is required Programming in Haskell, by Graham Hutton; Cambridge University Press, 2007. Additionally the class will use the Java definition book (optional) Java Programming Language, by James Gosling, Ken Arnold and David Holmes; 4th edition, Prentice Hall, 2006. Additional resources are available from the class s resource webpage http://courses.cs.tamu.edu/gdr/2013/314/pointers.html 4 Grading Policies 4.1 Composition The following rules govern the computation of your course grade: 30% of your grade is based on assignments, projects, and quizzes, 60% of your grade is based on mid-terms and final exam 10% of your grade is based on participation in class. Important: Must past the final exam with 50% or better to pass the course! 3

4.2 Scale The grades will be assigned on absolute scale: A=90% 100% B=80% 89% C=70% 79% D=60% 69% F=0% 59% F*=plagiarism or cheating Your grade will depend only on how well you do, and not on how well everyone else does. (If everyone does exceptionally badly on some assignment or exam, I may decide the assignment or exam was at fault rather than the students, in which case I ll adjust the grade cutoffs as I deem appropriate. But I won t adjust in the other direction; if everyone gets an A, that s great). 4.3 Reconsideration All grade assignments are final unless there was a mistake made in recording your semester grades or in computing your final grade. If all numbers are correctly recorded and computed, I will not discuss changing the resulting letter grades. There are situations that may warrant re-grading a particular assignment. For example, making addition errors in computing your score, not seeing an answer that you gave, or not understanding an answer that you gave. Requests for re-grading of assignments must be made within one week after the graded work has been handed back. 4.4 Assignment grading Assignments will be given every week. Unless explicitely indicated, they have to be completed in team. All turn-ins must be submitted through CSNET. For a given assignment, only a subset of all turn-ins will be selected for grading. The selection will be random and fair to ensure that 4

at the end of the semester everybody gets the same number of grades, on average. 5 Calendar Activities and Major Assignment Dates Detailed view of the class schedule is maintained at http://courses.cs.tamu.edu/gdr/2013/314/schedule.html All dates are subject to change. Wednesday March 6, 2013: Midterm exam March 11 15, 2013: Spring Break Tuesday May 06, 2013: Final exam 6 Policies 6.1 Academic Integrity Policy An Aggie does not lie, cheat, or steal or tolerate those who do. The Honor Council Rules and Procedures are available on the web http://www.tamu.edu/aggiehonor. 6.2 Cell Phones Any calls received during lecture will result in an automatic 5% penalty off your final course grade. Excuses will result in double the penalty. These points can be re-gained only by a written compensatory assignment of the instructor s choosing, and only if it is your first offense. 6.3 Food No food or drinking beverages will be tolarated during classes, unless fully justified by emergency or medical reasons. 5

6.4 Americans with Disabilities Act (ADA) Policy The Americans with Disabilities Act (ADA) is a federal anti-discrimination statute that provides comprehensive civil rights protection for persons with disabilities. Among other things, this legislation requires that all students with disabilities be guaranteed a learning environment that provides for reasonable accommodation of their disabilities. If you believe you have a disability requiring an accommodation, please contact the Department of Student Life, Services for Students with Disabilities, in Room 126 of the Koldus Building or call 845-1637. 6