1 / 16

CSCE 314 Programming Languages

CSCE 314 Programming Languages. Introduction and Course Administration Dr. Hyunyoung Lee hlee@cse.tamu.edu 410B HR Bright 979-845-2490. CSCE 314: Programming Languages Spring 2014. Class Location and Time: Room 1020 ETB, TR 9:35–10:50 a.m. Instructor: Dr. Hyunyoung Lee

amara
Download Presentation

CSCE 314 Programming Languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. CSCE 314: Programming LanguagesSpring 2014 • Class Location and Time: Room 1020 ETB, TR 9:35–10:50 a.m. • Instructor: Dr. Hyunyoung Lee • Office: 410B HRBB • Office hours: W 1:40-2:40 p.m., R 2:10-3:00p.m. • Email: hlee@cse.tamu.edu • Teaching Assistant: Ms. Weijiao Gong • Office (for office hours): 229F RDMC • Office hours: WF 9:00-10:00 a.m. • Email: gwj1105@gmail.com

  3. CSCE 314: Programming LanguagesSpring 2014 Peer Teachers • PTs’ office hours are all held in Room 129 HRBB) • Mr. Steven Bierwagen (sbierwagen@neo.tamu.edu) M 12noon - 1:00pm, R 9:00-11:00am, F 4:00-5:00pm • Mr. Nathan De Jong (njdj1013@tamu.edu) MF 10:30 am - 12:30pm, TR 2:00-4:00pm, W 3:00-4:00p • Mr. Taylor Hunt (thehuntclub@neo.tamu.edu) T 9:35-10:50am and 12:30-1:15pm, F 11:30am - 1:30pm • Ms. Kira Jones (kmystic524@neo.tamu.edu) MW 12:30-1:30pm

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

  5. CSCE 314: Programming Languages • Prerequisites: • CSCE 221 • CSCE 222 • Familiarity with recursion • Familiarity with complexity analysis • Eager to learn (Enthusiasm) • Perseverance • Positive, constructive thinking • …

  6. 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!

  7. 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

  8. 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

  9. 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

  10. 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

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

  12. Grading • Homework and Project: 30% • Midterm Examination: 30% • Final Examination: 30% • Quizzes and Exercises: 10%

  13. Assignments and Submission • Homework will be assigned on approx. bi-weekly • Turn in all work on csnet before the deadline • There will be a mix of individual and team assignments, which will include programming exercises, essay-style problems, and problems from the textbook. Whether it will be done individually or in a team will be specified in each assignment. It is extremely important to read the assignment statements carefully!

  14. 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.)

  15. 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

  16. 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!!

More Related