HIP* - For office use Only DGL
FYS WI SL
CIE CA CBL
LC UR CAP
CPSC 140 Introduction to Programming Principles
Fall 2016

 


Instructor: Dr. Whitfield Voice Mail/ Phone: (724) 738-2935
Office Hours:Tues: 9:30am - noon; Wed: 10:30am-11; Fri: 2pm-4pm E-Mail: deborah.whitfield@sru.edu
Office: 258 Advanced Technology and Science Hall WWW: http://granite.sru.edu/~whit


Programming Language & Environment: Alice V2.3 (2.2, 2.3, 2.4 or 2.5) www.alice.org/index.php?page=downloads/download_alice2.3

Required TextBook:
Learning to Program with Alice, 3rd Edition, Dann, Cooper . Pausch, Prentice Hall. Additional material, as introduced in class, class notes or as assigned reading.

Approved Web Resources: www.alice.org/community/ and www.dickbaldwin.com/tocalice.htm. Note that the text book is required, you will not find it sufficient to use web resources.
This class will make use of D2L, the CS department "java-drive," and ROCKmail. Flash (thumb) drive recommended. You are required to add a picture, appropriate for all of classes, to your D2L profile... contact me for help or with any concerns.

Catalog Description: Techniques are stressed that enable systematic development of clear, correct programs. Other topics include data types, algebraic notation, standard control structures, functions; input/output, arrays, and program testing and debugging. Programs will be written in the department's current official programming language of isntruction. Prerequisite: ASSD 110, Math 125. (3 credits)

The course grade will be based upon quizzes, exams, assignments, class participation, and attendance. The following is a tentative point assignment for the course:
Homework Assignments
4 pts each
(drop one)
~60
Projects
20 pts each
(drop lowest)
~60
Tests
40 pts each
(drop lowest)
~120

The final grade is calculated by adding the number of points that the student earned divided by the total number of possible points. The final grade will be based on the scale:
100 to 90% -- A
89 to 80% -- B
79 to 70% -- C
69 to 60% -- D
59% and below -- F
The instructor may change this scale to benefit the students.

Homework Assignments: You may work with anyone to complete homework assignments &emdash; just let me know in the assignment so I don't ebd up grading the same thing ten times. Although you may work with others, it is unacceptable to simply copy the assignment electronically This is essentially a practice exercise that you must complete, even if you are working with someone else.

Programming projects: We will be using the pair programming approach to software engineering. Thus, you will be developing projects as a team.
Work on these projects must be entirely your own (you and your partner) effort. Cite any help received, including other students, tutors, books and web sites! Be specific. (Help or code provided by the instructor, the class web site and/or notes, or the course text is considered part of the course itself and need not be explicitly acknowledged in your assignments.) Use of material from another book or downloaded from the Internet or copying code from another person are all examples of plagiarism. Citations must appear in the required comments at the beginning of each assignment.
Typically, assignments are structured to enhance and assess your understanding of the material covered in class, in the text, or as assigned. For this reason, you must complete assignments using the methods and techniques covered in class and as specified in the assignment. Presume that each assignment is intended to exercise the most recent material covered. (That is, you can't just Google a way to do whatever it is or use material from chapters not yet covered in class. It's like learning and doing "long division" as opposed to using a calculator.) You may use more advanced (different) techniques which you have learned on your own only with explicit permission from the Instructor.
If you are being tutored, make sure the tutor is helping you to understand what we have learned in class (or the text), not alternate techniques. While group tutoring on classroom topics is perfectly acceptable, group tutoring (beyond your own team) on the completion of a project is not.. This amounts to working together, i.e., cheating. I encourage tutors to meet with me . you should also encourage him or her. Tutors should never show you "how to complete the assignment". Rather, they should be helping you understand the material and methods covered in class so you can complete the assignment yourself. Always bring your book and a copy of the assignment to a tutoring session.

Class Preparation and Decorum
Read the material before attending "lecture" on it. Disruptive (or abusive) behavior will not be tolerated at any time.

Electronic Devices
No electronic device may be used during testing without explicit permission. Personal electronic devices must be set to operate in silent mode during class. Cell phones may only be used for emergency communication - even this use should be as non-disruptive as possible. In the case of D2L quizzes or tests, only D2L may be used and the quiz must be taken in the classroom (or proctored as arranged with the Instructor).

Academic honesty is expected and required.
You are required to adhere to all Department and University policies related to academic integrity. Plagiarism, cheating on exams or copying assignments will be cause for failure of the course and may result in dismissal from the University. For our purposes, plagiarism is defined as presenting anyone else's work as your own, including the use of source code (in any language) or algorithms (program design) that are not your own original creation. Academic dishonesty will minimally result in a zero on the assignment or test, and possibly an F for the course, at the Instructor's discretion. Academic Integrity: All work in this class will be the sole effort of the individual student. Cheating in any form will automatically result in a 0 and may result in failure of the course.

Makeup exams are not given unless a valid documented absence is provided. Please note that the health center will not provide excuses.

Copyrights: Students shall adhere to the laws governing the use of copyrighted materials. They must ensure that their activities comply with fair use and in no way infringe on the copyright or other proprietary rights of others. Additional information regarding copyright can be found here http://www.copyright.gov/ and information about fair use can be found here http://www.copyright.gov/help/faq/faq-fairuse.html.

Title IX: Slippery Rock University and its faculty are committed to assuring a safe and productive educational environment for all students. In order to meet this commitment and to comply with Title IX of the Education Amendments of 1972 and guidance from the Office for Civil Rights, the University requires faculty members to report incidents of sexual violence shared by students to the University's Title IX Coordinator. The only exceptions to the faculty member's reporting obligation are when incidents of sexual violence are communicated by a student during a classroom discussion, in a writing assignment for a class, or as part of a University-approved research project. Faculty members are obligated to report sexual violence or any other abuse of a student who was, or is, a child (a person under 18 years of age) when the abuse allegedly occurred to the person designated in the University protection of minors policy. Information regarding the reporting of sexual violence and the resources that are available to victims of sexual violence is set forth at: http://www.sru.edu/offices/diversity-and-equal-opportunity/sexual-misconduct-and-victim-resources.


COURSE: CpSc 140 Introduction to Programming Principles

Course Outcomes: This course and its outcomes support the Computer Science and Information Systems Learning Outcomes of Problem Solving and Critical Thinking (PS&CT), Communication and Interpersonal Skills (C&IS), and Ethical and Professional Responsibilities (E&PR). These Information Technology and Information Systems Learning Outcomes are tied directly to the University Wide Outcomes of Critical Thinking and Problem Solving, Communication, and Values and Ethics.

This course engages students in the following high impact practices: Collaborative assignments and projects
Learning OutcomesAssessed Course Objective
Demonstrate basic knowledge of facts, terms, concepts, and theories central to STEM programsS 1. Implement a program or answer test questions that utilize basic terms and theories of the language to solve specific problems.
Develop skill in using materials, techniques, tools, and technology central to STEM programs 2. Select tools and techniques such as data types and control flow when implementing a program on the appropriate hardware.
Demonstrate synthesis and integration of information and ideas 3. Write programs that demonstrate the synthesis and integration of programming ideas into an algorithmic design.
Analyze and interpret experimental data and results effectively 4. Examine the results of the program to ensure it meets program specifications and works for all experimental input data.

Additional Course Objectives include:
The student will be able to:

  1. Select appropriate data types, control flow, and programming techniques.
  2. Design an algorithmic, object-oriented solution that meets the specification of a programming problem.
  3. Write self-documenting programs according to standard techniques as defined by the instructor.

* - FYS - First Year Seminars; CIE - Common Intellectual Experiences; LC - Learning Communitires; WI - Writing Intensive; CA - Collaborative Assignments; UR - Undergraduate Research; DGL - Diversity and Global Learning; SL - Service Learning; CBL - Community Based Learning; CAP - Capstone Courses and Projects