CPSC/ECE 3520: Programming Systems Summer Session II 2016 Extended Syllabus



Similar documents
Finite Element Analysis in Mechanical Engineering Design. Summer 2015 (Online)

Psychology of Music (PSYC ) Fall 2014

Sociology 397: Substance Abuse

**SYLLABUS IS SUBJECT TO CHANGE**

ECE 3200 Electronics I First Summer Session 2015 (Online) Syllabus

Page 1 of 5

EPSY 320 Child Development for Educators Syllabus Summer Session I, 2013 Class Date June 3rd July 8th

CS479/579 Special Topics: Social Computing Syllabus. Computer Science Department, New Mexico State University 01/20/ /13/2016

ME 4710/6710 Computer Aided Engineering Analysis & Design

Instructors: Carla Farsi (czar), Ira Becker, Sooran Kang, Amy Keighley, Eunhyea Kim, Matthew Moore, Joshua Sanders.

KIN 104 FITNESS AND WELLNESS ONLINE LECTURE Summer 2016

Statistical Methods Online Course Syllabus

Precalculus Algebra Online Course Syllabus

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

Course Name: Sociology 101, Introduction to Sociology Section # 9214 Ms. Haynes, vhaynes@elcamino.edu, ext. 2075/2076

Shaw University Online Courses FAQ

COMMUN 101: INTRODUCTION TO INTERPERSONAL COMMUNICATION

Political Science 1336 American Government I U.S. and Texas Constitutions and Politics FALL 2009

SYLLABUS Honors College Algebra MAC 1105H / 3 credit hours Fall 2014

COURSE TITLE: Java Application Developer Certificate Program

(575) and by prior appointment nmsu. edu

TITLE: Elementary Algebra and Geometry OFFICE LOCATION: M-106 COURSE REFERENCE NUMBER: see Website PHONE NUMBER: (619)

CJS 101: Introduction to Criminal Justice Sciences

Class: BBA 440 Human Resource Management; 3 credit hours. Dates: Jan 12 th May 4 th Class #:

How To Pass A Customer Service Course At Tstc

JACKSON COMMUNITY COLLEGE INCOME TAX (ACC 214) Instructor: James W. Shimko, CPA, MBA Office: JW150E Phone:

EMBA W Economic Forecasting Spring 2015

Teaching Assistants (contact information for your TAs can be found on the course website): Luis Alvarez, Sarah Halterman, Corey Rovzar and Jason Ward.

HPPE 420 ETHICS IN SPORT MANAGEMENT

HARRISBURG AREA COMMUNITY COLLEGE ENGLISH 104 COURSE SYLLABUS. Course Information. Technical Writing. Summer II 2015 CRN V01.

College of Southern Maryland Fundamentals of Accounting Practice(ACC 1015) Course Syllabus Spring 2015

HARRISBURG AREA COMMUNITY COLLEGE PSYCHOLOGY 101-GENERAL PSYCHOLOGY. Dr. Jaci Verghese. Syllabus for CRN Meeting Times: Online Instruction

BCIS Business Computer Applications D10

Middlesex Community College Fall 2015 Course Syllabus. Course Information: Social Problems (SOC103 CRN 1320 Section 30) 3 Credits

INFO 2130 Introduction to Business Computing Spring 2013 Self-Paced Section 006

Middlesex Community College Spring 2015

Syllabus Summer 2015

University of South Florida Sarasota-Manatee Course Syllabus Forensic Accounting and Fraud Examination ACG 4931 Fall 2015

MGMT 361 (Hybrid) Human Resource Management

SYLLABUS JS 103- INTRODUCTION TO CRIMINAL JUSTICE SPRING 2015

Mission of the Hospitality Management Program: Create, share and apply knowledge to develop leaders for the hospitality industry.

VALENCIA COLLEGE, OSCEOLA CAMPUS PSYCHOLOGY (General Psychology) Summer B, 2014 Dr. Nancy Small Reed

International Business Syllabus

UNIVERSITY OF FLORIDA DEPARTMENT OF TOURISM, RECREATION AND SPORT MANAGEMENT HFT 3253 Lodging Management and Operations Summer 2015 (4.10.


Department of Allied Health Emergency Medical Technician Programs. Program Information Packet. Steve White, MPA, NR-P Director

MATHEMATICS 152, FALL 2004 METHODS OF DISCRETE MATHEMATICS

Investment Management Course

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

JOHN A. LOGAN COLLEGE S. Trammell SM 13. BIO 225 GENETICS 3 cr. (3-0) (Online)

MAN 4802 Entrepreneurship/Small Business Management Online. Fall 2012

ACCT W Advanced Managerial Accounting Spring 2015 Online Course

Course Syllabus: Math 1314 College Algebra Spring 2016 T/R

Texas A&M University Commerce College of Business Department of Accounting, Syllabus Spring 2015 Principles of Accounting II W CRN 22142

ACCT W Advanced Managerial Accounting Spring Office Hours: Mon - 1 PM to 6 PM (BA 122 or UCD, every other week, appointment recommended)

Traditional courses are taught primarily face to face.

INFO & 090 Business Data Communications and Information Security Fall 2014

BRAZOSPORT COLLEGE LAKE JACKSON, TEXAS SYLLABUS ACNT 2311: MANGERIAL ACCOUNTING ONLINE VERSION COMPUTER TECHNOLOGY & OFFICE ADMINISTRATION DEPARTMENT

BCIS Business Computer Applications - Online

BUS 373 ORGANIZATIONAL BEHAVIOR Syllabus Fall 2015

CRJU Introduction to Criminal Justice (CRN 20933) Course Syllabus Spring 2015

OGEECHEE TECHNICAL COLLEGE One Joe Kennedy Boulevard Statesboro GA

POFT 1309 Administrative Office Procedures I COURSE SYLLABUS

Class: BBA 440 Human Resource Management; 3 credit hours

ENGR 102: Engineering Problem Solving II

etroy Abnormal Psychology 3304 TERM 1, 2015

BUSN 1250 Fall 2015 Syllabus/Lesson Plan **Disclaimer Statements** ****Instructor reserves the right to change the syllabus and/or lesson plan as

FEDERAL WORK STUDY HANDBOOK

Math 161A-01: College Algebra and Trigonometry I Meeting Days: MW 9:31am 11:30am Room : D9

PHOENIX COLLEGE ONLINE. SBS220 Internet Marketing for Small Business

Self-Paced Online (Correspondence) Courses Policies and Procedures

EDAD 695 Research Methodology 01W Course Syllabus Fall Ed Leadership Office: Education North 105, P.O. Box 3011 Commerce, Texas 75429

Office Location: #100 in the Communications Building on the Levelland campus

HPPE 290 SPORT LAW. Course Syllabus

ENGL394 Online: Business Writing Prerequisites Required Resources: ENGL394: Business Writing Learning Objectives

How To Learn Distance Learning

MAN 4301 HUMAN RESOURCES MANAGEMENT. MAN 4301-RVC (22055) & MAN 4301-RPC (22056) Human Resources Management Online Course Jan 11, Apr 30, 2016

Department of Secondary Education and Educational Leadership SED The Professional Educator

Academic Calendars. Term I (20081) Term II (20082) Term III (20083) Weekend College. International Student Admission Deadlines

USF Sarasota-Manatee College of Business Information Technology CGS Credit Hours Computers in Business Fall 2015, USF Sarasota-Manatee

How To Write A Business Writing Course

Office: D Instructor: Vanessa Jones. Phone: (714) Office Hours: Monday & Wednesday 1:30pm-2:30pm. Jones Vanessa@sccollege.

TECH 4101 HUMAN RESOURCES FOR ADMINISTRATIVE AND TECHNOLOGY MANAGERS (R1 section) Course Syllabus Fall 2015

Introduction to I/O Psychology

AESHM 438 Human Resource Management Semester: Fall 2015

ASM 540: Geographic Information System Applications

CMJ 152 LAW ENFORCEMENT & THE COMMUNITY Spring Syllabus 2015

Psychology 318, Thinking and Decision Making Course Syllabus, Spring 2015 TR 8-9:20 in Lago W262

Phone: ( preferred, but voice or text welcome)

School of Health Professions Department of Health Services Administration Healthcare Management Program

Strategic Use of Information Technology (CIS ) Summer /

Phillips Academy Summer Session & (MS) 2 Elwin Sykes Teaching Assistant Program

Transcription:

CPSC/ECE 3520: Programming Systems Summer Session II 2016 Extended Syllabus Dr. Robert J. Schalkoff Professor Electrical and Computer Engineering 334 Fluor Daniel Engineering Innovation Building Clemson University Clemson, SC 29634-0915 rjschal@g.clemson.edu Preliminary; rev. 2-2-2016 Note that this syllabus will be accompanied by a video lecture once the session begins.

Contents 1 Course Overview / Goals and Objectives 4 1.1 Course Description........................ 4 1.2 Course Pragmatics........................ 4 1.3 Course Progress.......................... 5 1.4 Attendance............................ 5 1.5 Prerequisites............................ 5 2 Course Outline by Topics (in approximate chronological order) 6 3 Course Schedule 7 3.1 Overall Session Summary Calendar............... 7 3.2 Critical Summer Session II Dates for CPSC/ECE3520..... 7 3.3 Daily Reminder Via email.................... 8 4 Software Development 8 4.1 SDEs................................ 8 4.2 SDE Implementation Tools.................... 9 5 Course Grading Procedures 9 5.1 Quizzes and SDEs......................... 9 5.2 Students with Disabilities: Requesting Accommodations... 10 5.3 Proctors.............................. 10 6 Course Structure 11 6.1 The Master Slide-Video Catalog................. 11 6.2 Modules.............................. 11 6.3 Course Content by Module.................... 11 7 Additional Remarks and Frequently Asked Questions 12 7.1 Incorporation........................... 12

7.2 Interaction Notice......................... 12 7.3 Title IX Statement for Undergraduate Syllabi......... 12 7.4 Teaching Philosophy....................... 12 7.5 General FAQs........................... 13

1 Course Overview / Goals and Objectives 1.1 Course Description CPSC/ECE 3520 is a more advanced course in programming languages and systems for computer engineering/science majors. The objective of this course is to enable a more complete understanding of software development topics and related supporting tools, including philosophy, methodology, formal syntax and semantics, and examples of programming paradigms, languages and development approaches. 1.2 Course Pragmatics Instructor: Dr. R.J. Schalkoff If you want to see a recent picture of me with some background information, please visit: http://www.clemson.edu/ces/departments/ece/faculty_staff/faculty/rschalkoff.html Office: EIB 334, 864-656-5913, rjschal@g.clemson.edu Web Page: We will be using the Blackboard system extensively. You will find this syllabus, as well as related materials (course slides and lecture videos) on the CPSC/ECE 3520 Blackboard page. The complete course calendar may be found there. Be sure you can access this, since it will be the conduit for lectures, software assignments and other information. This repository will evolve over the session. Text: Schalkoff, Programming Languages and Methodologies, Jones and Bartlett Publishers, 2007. Required. Office Hours: M,T,W,Th,F 11:00AM-12:00PM (by phone), unless notified otherwise 1. Others by appointment. You can contact me by email (rjschal@g.clemson.edu) anytime. 1 Due to a preexisting commitment, this will be modified for the week of July 5- July 8. Note July 4 is a holiday.

1.3 Course Progress AlthoughIwilltrytohelpyoustayinsyncwiththiscourse, averyimportant point is: You and I are in this together for the session. However, your progress is up to you. 1.4 Attendance ECE/CPSC3520 is an on-line course. There will be no meetings of this course in a traditional classroom. However, you should be checking your email and Blackboard daily. 1.5 Prerequisites CPSC 3520: CPSC 212/215 ECE 3520: ECE 223

2 Course Outline by Topics (in approximate chronological order) 1. Programming: the Concept, History and Trends (a) Communication with a machine: what does language have to do with it? (b) How do you Convey Aspects of a Programming Language? (c) Taxonomy and History of Programming Languages and Approaches 2. Specifying and Enforcing Syntax (a) Grammars (b) BNF Notation and Alternatives (c) Parsing (d) mini-c 3. Prolog, Prolog Applications and Parsing in Prolog 4. Functional Programming Approaches (a) The Lambda Calculus (b) ocaml 5. Specifying Semantics (a) Why? (b) Relationship to Correctness (c) Translational Semantics (d) Operational Semantics (e) Denotational Semantics (f) Axiomatic Semantics 6. Copyright and Software Licenses

3 Course Schedule As noted, numerous attempts and tools will be used to help keep you on schedule throughout the session. Some are illustrated below. 3.1 Overall Session Summary Calendar CPSC/ECE 3520 SS II: June 2016 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 June 22 classes begin 26 27 28 29 30 July 2016 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 July 4 is holiday 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 July 27 is last class 31 July 28 is study day July 29 is final exam (Quiz #3) The course Blackboard page contains a more detailed online calendar indicating day-by-day lectures, deliverables and significant course activities. 3.2 Critical Summer Session II Dates for CPSC/ECE3520 These are probably the most important dates to put on your 2016 calendar. Note Mondays and Tuesdays are especially important. **************** ADJUST THESE: Wednesday 22 June: Course Starts Friday 24 June: Proctor Approval Form Due (See below) Thursday 30 June: SDE #1 Assigned

Monday July 4: Holiday Tuesday 5 July: Quiz #1 Monday 11 July: SDE #1 Due Thursday 14 July: SDE #2 Assigned Tuesday 19 July: Quiz #2 Monday 25 July: SDE #2 Due Friday 29 July: Quiz #3; Course Ends 3.3 Daily Reminder Via email You will get email from me every morning with the header: rjschal-3520ssii2016: <date>: Goals and Notes indicating previous, current and future CPSC/ECE 3520 issues. These emails are aligned with the Blackboard course calendar. This is to help keep you up-to-date with respect to the CPSC/ECE 3520 course schedule. 4 Software Development 4.1 SDEs You will undertake 2 Software Design Exercises (SDEs) in CPSC/ECE 3520 as part of your graded submissions. They will be graded on the basis of functionality, completeness and correctness and must be submitted by the due date. (Please read the previous sentence again.) For some students, the SDEs are the most challenging part of the course. For some students, the SDEs are the most rewarding part of the course. Your motivation and time management will determine which one it is for you. There is also an early, non-graded, but required SDE0, which is just a test of your ability to upload an archive to Blackboard. It will be posted on Blackboard and should only take a few minutes to complete.

4.2 SDE Implementation Tools There will be 2 Software Development Exercises (SDEs). To this end, two things are important: 1. You should be using a linux-based development environment. Any modern linux distribution will suffice. You may even run linux in a virtual environment. 2. A key aspect of software development is time management and meeting deadlines. The due date for each SDE is not a recommendation, it is a firm deadline. Languages/software tools we will use for the 2 SDEs are: 1. SWI-Prolog (http://www.swi-prolog.org/) 2. ocaml (http://caml.inria.fr/ and/or https://ocaml.org/) You are not expected to be familiar with these paradigms/languages. All are open source and free. It would not hurt to have these software packages installed prior to the course start, in order to allow more time during the session for the SDE completions. I ll point out in the lectures (and the book) where to get them and how to install them. To help guide you towards a successful SDE, developed in a bottom-up fashion, I will specify deliverable predicates (Prolog) or functions (ocaml). They range from very simple to the top-level, and you should develop them in that order. 5 Course Grading Procedures 5.1 Quizzes and SDEs There will be 3 quizzes and 2 SDEs. They will determine 100% of your final grade. Thus there are 5 scores recorded. Quizzes are equally weighted. No re-tests are given, and no additional work will be assigned. I will use all 5 scores recorded in computing your final grade 2. 2 In other words, no scores are dropped.

5.2 Students with Disabilities: Requesting Accommodations Students with disabilities requesting accommodations should make an appointment with the Director of Disability Services (656-6848), to discuss specific needs immediately. 5.3 Proctors If you will be on or near campus (within 25 miles), you will take the quizzes in a classroom in Riggs Hall. If you will be off-campus, you will need to find a proctor who is willing to supervise your taking of the quizzes. We will send the quiz to the proctor the night before the quiz date via email as a PDFattachment. Theproctorwillbeaskedtoprovideyouwithaquiet place to take the quiz, enforce the rules of the quiz, scan your solution and send it back to me via email as a PDF attachment 3. A proctor must be a person of trust who agrees to supervise your taking of quizzes. Basically, the proctor must be a person you trust to be responsible and I have reason to trust. You must trust them to be available to receive, administer and return the quiz to me in a timely manner. I need to be reasonably sure they will enforce the constraints on taking the quiz. Detailed information regarding qualifications and duties of a proctor are described in the ECE proctor information and approval form, specifically the section Online Summer Program Proctor Information which ispostedonthecourseblackboardpage. Youaretorecommendaproctor using the Proctor Approval/Agreement Form. Fill out this form in concert with your proctor, scan it, and submit it via Blackboard no later than Friday, June 24. 3 Please note that, due to course enrollment, we will not be accepting FAXed quizzes. Keep this in mind when nominating your proctor.

6 Course Structure 6.1 The Master Slide-Video Catalog Since this course is online, your progress is largely self-paced. To coordinate lecture slides with associated lecture videos and recommended viewing dates, a file: 3520-slide-video-schedule-2016.pdf is available on Blackboard. This document is your course lifeline, and provides a reference on where you should be lecture-wise at any point in the session. This document is so important it comprises a separate Blackboard content item with additional discussion. 6.2 Modules Shortly before the class begins, I will begin posting course Modules on Blackboard. A module consists of some combination of book reading, slide sets, video sets, auxiliary references, web references, code examples, and nongraded questions. 6.3 Course Content by Module 1. Introduction (SDE Project 0) 2. Grammars/syntax/derivation/parse trees/parsing(cyk) 3. Declarative programming in Prolog 4. Functional programming in ocaml 5. Programming Language (Formal) Semantics and Software Licenses

7 Additional Remarks and Frequently Asked Questions 7.1 Incorporation The Clemson Announcements contains additional information and guidelines on a number of important and related topics, including special needs and academic integrity. These guidelines are incorporated into CPSC/ECE 3520 by reference. 7.2 Interaction Notice In this online course, you will interact with the content and instructor on at least a weekly basis through course assignments, asynchronous discussions, and/or synchronous sessions as indicated in the syllabus. 7.3 Title IX Statement for Undergraduate Syllabi Clemson University is committed to a policy of equal opportunity for all persons and does not discriminate on the basis of race, color, religion, sex, sexual orientation, gender, pregnancy, national origin, age, disability, veterans status, genetic information or protected activity (e.g., opposition to prohibited discrimination or participation in any complaint process, etc.) in employment, educational programs and activities, admissions and financial aid. This includes a prohibition against sexual harassment and sexual violence as mandated by Title IX of the Education Amendments of 1972. This policy is located at http://www.clemson.edu/campuslife/campus-services/access/title-ix/. Mr. Jerry Knighton is the Clemson University Title IX Coordinator. He also is the Director of Access and Equity. His office is located at 111 Holtzendorff Hall, 864.656.3181 (voice) or 864.565.0899 (TDD). 7.4 Teaching Philosophy My teaching philosophy may be summarized in these remarks:

The class (you) and I are in this together for the session. However, your progress is up to you. Sometimes we can have fun with the material; sometimes work is required. Not everything can be made simple or fun. Academic integrity is a serious issue. There are standards for academic achievement, and they should be employed. Excessive whining has never been shown to facilitate the installation, creation or debugging of software. All our interactions should be conducted within a framework of mutual respect. The time to put effort into 3520 is before the quizzes, SDEs and before the course is over. 7.5 General FAQs The course Blackboard page contains several FAQs, including a more comprehensive version of the General FAQ below. Each SDE will have an associated FAQ, summarizing previously asked questions. Be sure to check the FAQs frequently since they are updated throughout the session. What Should I Expect? How Hard is The Class? What is Required? This class requires active participation. This class requires self-motivation and (sometimes) perseverance. Remark: I am not here to simply help you. but... I am here to help you learn how to help yourself.

This class requires following instructions and meeting(sde) deadlines. This class requires installing software and reading manuals. ( Read the manual ). This class requires designing, implementing, testing and submitting software that works correctly. (A surprise to some?). Any Helpful Hints for Success? Complete the modules. Stay up to date (or even slightly ahead). Read the book. Pay attention to the examples. Try the examples. Modify the examples. Read the SDEs early, carefully and repeatedly. Plan your SDE effort. ( It is never to early to get started ). Beginning the night before the SDE is due is usually a contraindication to success. Do not approach software development with an imperative ( c or java or matlab or perl... ) mindset.