CS 149: Introduction to Programming James Madison University, Spring 2018 Semester, 3 Credits

Similar documents
AGN 331 Soil Science Lecture & Laboratory Face to Face Version, Spring, 2012 Syllabus

AGN 331 Soil Science. Lecture & Laboratory. Face to Face Version, Spring, Syllabus

MATH 205: Mathematics for K 8 Teachers: Number and Operations Western Kentucky University Spring 2017

Course Syllabus for Math

Graduate Calendar. Graduate Calendar. Fall Semester 2015

*In Ancient Greek: *In English: micro = small macro = large economia = management of the household or family

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

Course Content Concepts

The Policymaking Process Course Syllabus

CS Course Missive

IST 440, Section 004: Technology Integration and Problem-Solving Spring 2017 Mon, Wed, & Fri 12:20-1:10pm Room IST 202

CHEMISTRY 104 FALL Lecture 1: TR 9:30-10:45 a.m. in Chem 1351 Lecture 2: TR 1:00-2:15 p.m. in Chem 1361

CS 3516: Computer Networks

ENGLISH 298: Intensive Writing

COMMUNICATIONS FOR THIS ONLINE COURSE:

Foothill College Fall 2014 Math My Way Math 230/235 MTWThF 10:00-11:50 (click on Math My Way tab) Math My Way Instructors:

Data Structures and Algorithms

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

BUS Computer Concepts and Applications for Business Fall 2012


Instructor Dr. Kimberly D. Schurmeier

BIODIVERSITY: CAUSES, CONSEQUENCES, AND CONSERVATION

Scottsdale Community College Spring 2016 CIS190 Intro to LANs CIS105 or permission of Instructor

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

PHO 1110 Basic Photography for Photographers. Instructor Information: Materials:

Course Syllabus. Alternatively, a student can schedule an appointment by .

CIS Introduction to Digital Forensics 12:30pm--1:50pm, Tuesday/Thursday, SERC 206, Fall 2015

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

MTH 215: Introduction to Linear Algebra

FINANCE 3320 Financial Management Syllabus May-Term 2016 *

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

Medical Terminology - Mdca 1313 Course Syllabus: Summer 2017

Psychology 102- Understanding Human Behavior Fall 2011 MWF am 105 Chambliss

COURSE WEBSITE:

ASTRONOMY 2801A: Stars, Galaxies & Cosmology : Fall term

CHEM:1070 Sections A, B, and C General Chemistry I (Fall 2017)

Introduction to Forensic Anthropology ASM 275, Section 1737, Glendale Community College, Fall 2008

CS 100: Principles of Computing

Preferred method of written communication: elearning Message

Foothill College Summer 2016

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

This course has been proposed to fulfill the Individuals, Institutions, and Cultures Level 1 pillar.

ECON492 Senior Capstone Seminar: Cost-Benefit and Local Economic Policy Analysis Fall 2017 Instructor: Dr. Anita Alves Pena

SPANISH 102, Basic Spanish, Second Semester, 4 Credit Hours Winter, 2013

Course Syllabus It is the responsibility of each student to carefully review the course syllabus. The content is subject to revision with notice.

ENG 111 Achievement Requirements Fall Semester 2007 MWF 10:30-11: OLSC

Economics 201 Principles of Microeconomics Fall 2010 MWF 10:00 10:50am 160 Bryan Building

Phys4051: Methods of Experimental Physics I

Syllabus for CHEM 4660 Introduction to Computational Chemistry Spring 2010

Computer Architecture CSC

Prerequisite: General Biology 107 (UE) and 107L (UE) with a grade of C- or better. Chemistry 118 (UE) and 118L (UE) or permission of instructor.

STA2023 Introduction to Statistics (Hybrid) Spring 2013

Attendance. St. Mary s expects every student to be present and on time for every scheduled class, Mass, and school events.

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

Required Texts: Intermediate Accounting by Spiceland, Sepe and Nelson, 8E Course notes are available on UNM Learn.

San José State University

PHY2048 Syllabus - Physics with Calculus 1 Fall 2014

CALCULUS III MATH

General Physics I Class Syllabus

HCI 440: Introduction to User-Centered Design Winter Instructor Ugochi Acholonu, Ph.D. College of Computing & Digital Media, DePaul University

SOUTHERN MAINE COMMUNITY COLLEGE South Portland, Maine 04106

MKT ADVERTISING. Fall 2016

Office Hours: Day Time Location TR 12:00pm - 2:00pm Main Campus Carl DeSantis Building 5136

PBHL HEALTH ECONOMICS I COURSE SYLLABUS Winter Quarter Fridays, 11:00 am - 1:50 pm Pearlstein 308

Nutrition 10 Contemporary Nutrition WINTER 2016

MAT 122 Intermediate Algebra Syllabus Summer 2016

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor

GERM 3040 GERMAN GRAMMAR AND COMPOSITION SPRING 2017

COURSE INFORMATION. Course Number SER 216. Course Title Software Enterprise II: Testing and Quality. Credits 3. Prerequisites SER 215

STANDARDIZED COURSE SYLLABUS

EEAS 101 BASIC WIRING AND CIRCUIT DESIGN. Electrical Principles and Practices Text 3 nd Edition, Glen Mazur & Peter Zurlis

Penn State University - University Park MATH 140 Instructor Syllabus, Calculus with Analytic Geometry I Fall 2010

RL17501 Inventing Modern Literature: Dante, Petrarch, Boccaccio and XIV Century Florence 3 credits Spring 2014

Syllabus ENGR 190 Introductory Calculus (QR)

Math 181, Calculus I

Chemistry 106 Chemistry for Health Professions Online Fall 2015

PSYCHOLOGY 353: SOCIAL AND PERSONALITY DEVELOPMENT IN CHILDREN SPRING 2006

University of Florida ADV 3502, Section 1B21 Advertising Sales Fall 2017

BADM 641 (sec. 7D1) (on-line) Decision Analysis August 16 October 6, 2017 CRN: 83777

Instructor: Khaled Kassem (Mr. K) Classroom: C Use the message tool within UNM LEARN, or

Student Handbook Information, Policies, and Resources Version 1.0, effective 06/01/2016

Instructor: Matthew Wickes Kilgore Office: ES 310

CHMB16H3 TECHNIQUES IN ANALYTICAL CHEMISTRY

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

INTERMEDIATE ALGEBRA Course Syllabus

Interior Design 350 History of Interiors + Furniture

Food Products Marketing

State University of New York at Buffalo INTRODUCTION TO STATISTICS PSC 408 Fall 2015 M,W,F 1-1:50 NSC 210

INDES 350 HISTORY OF INTERIORS AND FURNITURE WINTER 2017

U : Second Semester French

FINN FINANCIAL MANAGEMENT Spring 2014

POLSC& 203 International Relations Spring 2012

ITSC 1301 Introduction to Computers Course Syllabus

MGMT 3362 Human Resource Management Course Syllabus Spring 2016 (Interactive Video) Business Administration 222D (Edinburg Campus)

Introduction to Sociology SOCI 1101 (CRN 30025) Spring 2015

MGMT 5303 Corporate and Business Strategy Spring 2016

Introduction to Personality Daily 11:00 11:50am

Spring 2015 CRN: Department: English CONTACT INFORMATION: REQUIRED TEXT:

Required Text: Oltmanns, T. & Emery, R. (2014). Abnormal Psychology (8th Edition) ISBN-13: ISBN-10:

HUMAN DEVELOPMENT OVER THE LIFESPAN Psychology 351 Fall 2013

Transcription:

CS 149: Introduction to Programming James Madison University, Spring 2018 Semester, 3 Credits Home Page: http://w3.cs.jmu.edu/weikleda/cs149s18 Class Times Section 3: MWF, 10:10 11:15 Final Exam: Wednesday, May 2, 8:00-10:00 am Locations: CS/ISAT 243(classroom) ISAT/CS 143 (Linux lab) Your Instructor Dr. Dee A. B. Weikle weikleda@jmu.edu Office: ISAT/CS 205 Phone: 540-568-5013 Office Hours: MF 2:30-3:30, W 2:30-4, Th 2-3 (no appointment necessary) Other times are available by appointment via email. You are welcome to stop by if my office door is open without an appointment and if I have time I will help you. I will rarely be in the office on Tuesdays though. Goals and Objectives Official course description: Students learn fundamental problem-solving techniques using a modern programming language. By the end of this course, you should be able to: 1) Explain fundamental programming concepts (e.g, variables, methods, decisions, loops, arrays, objects) using appropriate terminology. 2) Describe basic elements of high-level programming languages, including expressions, statements, functions, modules, and libraries. 3) Read and interpret software specifications and write source code from them. 4) Use automated software tools and processes to test your programs thoroughly. 5) Distinguish appropriate collaboration from cheating on assignments and exams. 6) Evaluate your own work for compliance with requirements and style guidelines. 7) Collaborate effectively with the majority of your peers 8) Develop correct and efficient algorithms to solve problems using computation. Methods of Instruction If you re hoping for lectures day after day, you ve signed up for the wrong class. Research has shown that active learning methods are more effective than passively taking notes. This course

uses two different instructional strategies: Process Oriented Guided Inquiry Learning (for Monday activities) and Flipped Classroom (for Wednesday and Friday labs). Often, Friday labs will be run using pair programming. Here is the weekly routine: We will begin each week with a group activity to help you understand core concepts and develop process skills. You will then read from the textbook and complete a short online quiz. I will use the quiz results to customize instruction and clarify any misunderstandings about the course material. Wednesday will apply concepts hands-on and allow you to practice programming when it s easy to ask questions. Most weeks I will also provide a video to reinforce concepts and optional exercises to help you prepare for the exams. During the week, you should also be working on the current Programming Assignment. It is critical that you start these assignments early so that when you have some problem, you can spend a reasonable amount of time struggling, leave it and come back more rested or after having some questions answered. Please note: In a three-hour course, you should expect six hours of homework per week. How you manage your schedule is up to you, but do spend some time each day on this course. Programming assignments (PA) can take about eight hours to complete; that s why they are due every two weeks. Don t wait until the second week to get started. Ask any student who has taken this class what that s like. To encourage an early start on the programming assignments, they will often have multiple parts due earlier in the week. While I will answer Piazza questions over the weekend, you should realize I may not answer in the timeframe you need. If you choose to complete assignments at the last minute or after the deadline, especially after the first PA, you have significantly decreased your chances of successful completion. I will make sure any questions posted over the weekend are answered on Monday at the latest. Please ask questions using Piazza first if at all possible. I have it set up so that I get an email when a question is posted to Piazza, so emailing me is not quicker and by posting to Piazza you will have a chance of being answered by a classmate, TA, or another faculty member. Email should be reserved for questions whose answers would only benefit you personally or only I would know the answer to. Undergraduate assistants are generally available in the labs from 5:00 PM to 11:00 PM on Monday through Thursday and 1:00 PM to 11:00 PM on Sunday. A detailed schedule will be available 2-3 weeks into the class. Do not rely on them to fix your code you won t have TAs during exams. Do go to TAs and come to my office for clarification on concepts, ideally before you are working on the PA. Required Textbook The required textbook for CS149 this Spring will be "Think Java: How to Think Like a Computer Scientist" version 6.6.0 by Allen Downey and Chris Mayfield, available on http://greenteapress.com/wp/think-java/. DO NOT PURCHASE THIS BOOK ONLINE. PDF and HTML versions will be made available for free on the course website. You may optionally purchase a spiral-bound copy at the JMU Bookstore.

Recommended Textbook Also recommended for those planning on taking CS159 is the textbook, Starting Out With Java from Control Structures through Objects, 6 th Edition, by Tony Gaddis. You may use whatever version (paperback, ebook, or standard textbook) that will work best for you. If you have the funds you might consider a new copy or purchasing access to the video materials. I recommend this book, primarily for those who are intending to be computer science majors because it has been used frequently for this course and will likely be used for the next course in the sequence, CS159. Getting familiar with the book this semester is likely to help in CS159 and it provides more detailed examples of different control structures as you are learning. Online Interaction If you need to schedule an appointment or have a personal inquiry, don t hesitate to email me directly. However, do not send me messages via Canvas I have disabled its notifications. Please bookmark the following websites: https://w3.cs.jmu.edu/weikleda/cs149s18/ The detailed schedule page on the course website will provide links to activities, labs, readings, videos, and assignments. This should be available by the end of the first week. https://canvas.jmu.edu/ We will use Canvas primarily for submitting quizzes and labs, posting solutions, and communicating grades. I intend to have the majority of materials available on the website above, but Canvas will point to those web resources and have the precise due dates. Canvas dates override and discrepancy with the few posted web dates. https://piazza.com/ If you have questions about course content or assignments, post them on Piazza rather than email me or TAs directly. This will help significantly in getting a timely answer as more people might answer. I get email automatically when a question is posted to Piazza. https://webcat.cs.jmu.edu/ Web-CAT is an automated submission system we will use for some of the assignments and labs. https://www.jgrasp.org jgrasp is an independent development environment that you can use to develop your code and programming assignments. You may use a different development environment, but this is the one I intend to support in class. Methods of Evaluation The different sections of CS149 are using the same methods of evaluation. Participation Class activities, labs, and concept quizzes will include a graded component. Labs will be due by 11:00 PM on the day they are assigned. You are encouraged to work with other students on these types of assignments. I will drop at least two of your lowest scores in this area to allow for

unforeseen circumstances. No credit will be given for labs if you are not in class, but you should still complete them to learn the concepts. Note that this policy may be different in other sections. Assignments There will be 5-6 programming assignments over the course of the semester. The source code you submit must be entirely your own work. When talking to other students or friends, you may look at code to help debug, but you must not write code or accept code of any kind from another student. If you receive help from an instructor or lab assistant, you must make note of it in the comments of the relevant source files. Details of how to do this will be provided in a style guide for the programming assignments. Programs will be graded on correctness, documentation, and overall code quality. Late Work Policy Programming assignments will be due on Fridays at 11:00 PM. Late submissions will be docked 15% per day for up to two days (Saturday and Sunday), after which they will no longer be accepted. Situations may arise that make it difficult for you to complete an assignment on time, such as illness, hardware failures, or travel problems so make sure and start the programs on time. Make sure and talk with me if you see that you will have a conflict with getting the programming assignments done. Academic Honesty If you violate the University s Honor Code (http://www.jmu.edu/honorcode/code.shtml ), you will receive a reduced or failing grade in the course, other penalties may be imposed, and the violation will be reported to the Honor Council. Automated tools may be used on any assignment, at any time, to detect inappropriate collaboration and to determine the originality of submissions. Midterms/Final We will have two midterms in class and a comprehensive exam during finals week. Each exam will be two hours: one for written problems, one for coding problems. If you must be absent during an exam for a legitimate reason, you must contact me at least one week beforehand to make special arrangements. Failure to make prior arrangements for a missed exam will result in a zero grade. Grading Criteria Your course grade will be based on: 20% Programming Assignments 15% Participation 35% Midterms (15% Exam 1, 25% Exam 2) 30% Final Exam Letter grades will be assigned on the scale A=90 100, B=80 89, C=70 79, D=60 69, F=0 59, with potential minor adjustments after considering the overall performance of the class and actual distribution of numeric scores. I will use + and grades at my discretion. I do not assign WP or WF grades except in extreme circumstances.

Important Notes Students who do not earn 60% of the points on the final exam will receive a letter grade no higher than D+ for the course. You must achieve a B or better grade to continue on to CS 159. University Policies Adding/Dropping You are responsible for enrolling in courses and verifying your schedule on MyMadison. The deadline for adding a semester course is Thursday, 01/25/2018 (signatures required after Tuesday, 01/16/2018). The last day to withdraw from a course with a W grade is Friday, 03/16/2018. Disability Services If you have a documented disability and need accommodations in this course, please register with the Office of Disability Services (http://www.jmu.edu/ods, Student Success Center, Room 1202, 540-568-6705). They will provide you with an Access Plan Letter to verify your need for services and make recommendations for the course. I will be happy to discuss your access plan with you. I highly recommend that if you had accommodations in high school that you document that immediately. It will likely help you learn better and have a more successful college experience. Excused Absences Students who are unable to attend class due to JMU sponsored activities (such as sports, band, academic competition, field trips, etc) or personal religious observances may request reasonable accommodations. Please notify me during the first week of class regarding potential absences so that we can determine alternative methods for you to complete the required work. Since I will post all deadlines and work, I expect you to have access to all materials necessary without coming to see me when unavoidable absences occur. You are however encouraged to stop by and get whatever assistance and perspective might be beneficial. University Closings For severe weather and other unexpected circumstances, watch for announcements relating to make-up work. See http://www.jmu.edu/jmupolicy/1309.shtml for JMU s cancellation policy. Although the schedule may adapt to canceled classes, assignment deadlines rarely change. Also, since I live in Crozet, an hour away. Many students think that I will not come in inclement weather. I often stay in Harrisonburg if snow or other weather may keep me from teaching or another faculty member will substitute for me. So, follow the university closing information!