CpSc 140, Introduction to Programming
Syllabus, Fall, 2013
Dr. Conlon
For a printable copy of this syllabus, click here.
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. The course will be taught in a language designed for non-programmers. Prerequisite: ASSD 110. (3 cr.)
Professor's Description: In this course you will learn the elementary principles of computer programming while creating three-dimensional animated worlds in the Alice programming environment. This course has recently been re-purposed, and is now intended to provide a gentle introduction to computer programming for liberal arts students. If you are a future scientist, mathematician, computer scientist, or engineer, you should probably take CpSc 146 instead. The prerequisite, ASSD 110, is the equivalent of high-school algebra 1.
Meets Requirements in: IS Minor and the GES Track in Applied Geographic Technology. Also, this is a goal course in the math/logic block of the Science, Technology and Mathematics section of the Liberal Studies program.
Does not count for: CS, IS, IT, Math, or Physics majors, CS or IT minor, pre-Engineering, or any of the Bioinformatics programs. Take CpSc 146 instead.
Class Meetings:
Section | Time | Place |
3 | TR 11:00 a.m.-12:15 p.m. | ATSH 129 |
Instructor:
Name | Phone | Office | |
Michael P. Conlon, Ph.D. | 724-738-2143 | michael.conlon@sru.edu | ATSH 252 |
Office hours: As indicated in the table below, or by appointment.
Mon | Tue | Wed | Thu | Fri |
2 p.m.-4 p.m. | 2 p.m.-4 p.m. |
| 9:30 a.m.-10:30 a.m. |
|
Office hours are for you. Please feel free to visit me to discuss any problems. Do not wait until problems become unmanageable. If I am doing other work during my office hours, it is because no student has come to see me. I will gladly drop what I am doing to help you. If my office hours are inconvenient, see me before or after class and we will find a better time to meet.
Text: Learning to Program with Alice, third edition,© 2012, by Dann, Cooper, and Pausch, Prentice Hall. ISBN #0-13-212247-2.
Software: This course will use software called Alice. Those interested in attaching sound to their animations will also need Audacity and Lame, which are optional. This software is installed on PC's in ATSH 129, 130, 224, and 230, and is available elsewhere through Citrix. All three software packages are free, open-source software, and versions are available for Windows, Linux, and Macintosh. While this software is available on computers in the SRU labs listed above, I urge you to install it on your own computer for your greater convenience.
Download Alice software from www.alice.org. We will be using Alice version 2.3.
Download Audacity from audacity.sourceforge.net.
Download Lame from lame.sourceforge.net/links.php#Binaries.
Grading:
Exams | Lab & Homework | Service, etc. | Projects |
35% | 20% | 10% | 35% |
Late Assignment Policy: Late assignments will be accepted, but will receive a grade of zero. Exceptions will be made only in extraordinary circumstances.
Important dates:
| Exam 1 | Exam 2 | Final |
Section 3 | Oct. 1,3 | Oct 29, 31 | Tue, Dec 10, 10:30 a.m.-12:30 p.m. |
Attendance, reading, and participation: You are expected to attend every class and to arrive on time. Please do all assigned reading before the class in which it is covered. You are expected to attend and participate in class, and you must do the reading and homework to participate. Use of entertainment devices during class or lab time is inappropriate.
Exams:
•Exams will cover both text and lecture material; some text material may not be covered in class.
•If you must be absent for an examination, please see me one week in advance to make alternate arrangements to take the exam.
•Please take care of bodily needs before coming to an exam: you will not be permitted to leave the room during an exam until your paper is handed in.
•All electronic communication, computation, and entertainment devices must be turned off and put away during exams. Use of such devices during an exam will be considered cheating.
•In-class exams may not consume the entire period. Be prepared for class work after an exam.
Labs: Labs will be graded primarily on completion of the lab project. Your first responsibility in lab is to complete the lab assignment. When the assignment is complete, you may work on project work or homework from this course. If you have no outstanding homework or project, make improvements to programs you have completed, or work on an Alice programming project of your choice. Your lab grade will be reduced if you are not working on programming during lab time, or if you leave lab early. If you do not complete your lab assignment during lab time, it will be marked as a zero unless you complete it and demonstrate it to the instructor within three class days, normally one week.
Service, etc.: You will be expected to complete four service/professional-development activities during the semester. For an activity to be eligible, it must be an organized activity and it must meet one of the following criteria:
It helps you prepare for the world of work you will enter after graduation.
You help others to use computers.
You learn more about computing, jobs in computing, or computing in industry.
Such activities may take the form of lectures on or off campus, resumé workshops, dress-for-success workshops, Computer Technology Club meetings, and service activities for high school students. If you are not sure whether an activity will count, ask me! Day-long activities count double.
In general, I do not produce these activities. You are expected to watch the bulletin boards around campus and find activities that qualify. There will be plenty of them available, but if you wait until the end of the semester to start looking, you will not be able to complete this assignment.
Recording of Lectures: Video and/or audio recording of lectures is generally prohibited. The instructor reserves the right to reduce your grade should you make illicit recordings. Permission to record will be granted if there is an educational need for you to do so.
Email: I may communicate via electronic mail, using your SRU address. Assignments may be announced or modified this way. You are responsible for checking your SRU email regularly.
Plagiarism policy: Plagiarism or collusion will earn you a failing grade for the assignment. You are not to cooperate with others in any way in the development of your programming projects, except as specified in the assignment. However, cooperation in doing homework and lab work is encouraged. If you have cooperated with anyone in your homework projects, you must indicate that person's name in your header comments.
Copyright permission: By registering in this course you grant the SRU Computer Science Department permission to copy any of your work from the course for use in assessment or accreditation processes. Information that identifies you will be removed from such copies.
Course Outcomes: This course and its outcomes support 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 Systems Learning Outcomes are tied directly to the University Wide Outcomes of Critical Thinking and Problem Solving, Communication, and Values and Ethics.
Program Objectives Assessed in CpSc 140
Course Objectives | Departmental Learning Outcomes |
The student will be able to:
| Problem Solving and Critical Thinking
Communication and Interpersonal Skills
Ethical and Professional Responsibilities
|
Additional Course Objectives: 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.
Calendar (tentative), with assigned readings:
Date | Topic | Reading | |
Aug | 27 | Welcome. Tour of the Alice programming environment | Ch. 1 |
| 29 | Scene setup. Objects. Properties, functions, and methods. |
|
|
|
|
|
Sep | 3 | lab: Set up a scene with template and up to 8 objects. |
|
| 5 | Scenarios and storyboards: designing software. | Chap. 2 |
|
|
|
|
| 10 | Programming: control structures. | Chap. 3 |
| 12 |
|
|
|
|
|
|
| 17 | Classes and Objects. | Chap. 4 |
| 19 |
|
|
|
|
|
|
| 24 | Exam 1 Practical |
|
| 26 | Exam 1 Objective; Parameters. |
|
|
|
|
|
Oct | 1 |
|
|
| 3 | Events and Event Handling | Chap. 5 |
|
|
|
|
| 10 |
|
|
|
|
|
|
| 15 | Functions and Selection | Chap. 6 |
| 17 |
|
|
|
|
|
|
| 22 | Repetition | Chap. 7 |
| 24 |
|
|
|
|
|
|
| 29 | Exam 2 Objective |
|
| 31 | Exam 2 Practical; Recursion | Chap. 8 |
|
|
|
|
Nov | 5 |
|
|
| 7 |
|
|
|
|
|
|
| 12 | List processing. | Chap. 9 |
| 14 |
|
|
|
|
|
|
| 19 | Arrays and Random Access |
|
| 21 |
|
|
|
|
|
|
| 26 | Variables and Inheritance | Chap. 10 |
|
|
|
|
Dec | 3 | Arrays: Searching, and Sorting |
|
| 5 |
|
|
|
|
|
|
| 10 | Final exam, 10:30 a.m.-12:30 p.m. |
|