CpSc 140, Introduction to Programming Principles,
Alice and Java
Syllabus, Fall, 2009
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. 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. Gradually, we will change over to learning Java, a general-purpose programming language. This is a goal course in the math/logic block of the Science, Technology and Mathematics section of the Liberal Studies program. It is a required course for students majoring in Computer Science, Information Systems, or Information Technology. The prerequisite, ASSD 110, is the equivalent of high-school algebra 1.
Class Meetings:
|
Section |
Time |
Place |
|
1 |
MWF 5 (12:00-12:50 p.m.) |
ATSH 129 |
|
2 |
MWF 6 (1:00-1:50 p.m.) |
ATSH 129 |
Instructor
|
Name |
Phone |
|
Office |
|
Michael P. Conlon, Ph.D. |
724-738-2143 |
michael.conlon@sru.edu |
ATSH 252 |
Office hours: MW 2:00-3:45 p.m., R 3:30-5:00 p.m., or by appointment.
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: Alice in Action with Java, © 2008, by Adams, Course Technology. ISBN #1-4239-0096-0.
Software: This course will use software called Alice. Those interested in attaching sound to their animations will need Audacity and Lame, which are optional. This software is installed on PC's in ATS 129, 130, 224, and 230. All three software packages are free, open-source software, and versions are available for Windows, Linux, and Macintosh. Alice software can be downloaded from www.alice.org. Download Audacity from audacity.sourceforge.net, and Lame from lame.sourceforge.net. Note: We will be using Alice version 2.0, not a newer version.
We will also be using Java and Eclipse software. You will need the Java SE Development Kit, available for free download at http://java.sun.com/javase/downloads/index.jsp. Eclipse is available at http://www.eclipse.org/downloads. Get the Eclipse IDE for Java Developers.
This software is available on many computers in various SRU labs. However, it is a lot more convenient to have the software running on your own computer.
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 1 |
Mon, Oct 5 |
Wed, Nov 4 |
Wed, Dec 16, 1:00-3:00 p.m. |
|
Section 2 |
Mon, Oct 5 |
Wed, Nov 4 |
Thu, Dec 17, 1:00-3:00 p.m. |
In-class exams will not consume the entire period. Class work will follow the exam.
Attendance, reading, and participation: You are expected to attend every class and to arrive on time. Do not expect to be admitted to class if you are late. 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.
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. Use of entertainment devices during class or lab time is inappropriate.
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 or Java 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 one week.
Email: I may communicate via electronic mail, using your SRU address. Assignments may be announced this way. Be sure your email account is properly set up. You are responsible for checking your SRU email regularly.
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.
Plagiarism policy: Plagiarism or collusion will earn you a failing grade for the course. You are not to cooperate with others in any way in the development of your programming projects, except as specified in the assignment. Cooperation in doing homework and labwork 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. Identifying information will be removed from such work.
Course Outcomes: This course and its outcomes support the Computer Science, Information Systems, and Information Technology Learning Outcomes of Problem Solving and Critical Thinking (PS&CT), Communication and Interpersonal Skills (C&IS), and Ethical and Professional Responsibilities (E&PR). These Computer Science, Information Systems, and Information Technology Learning Outcomes are tied directly to the University Wide Outcomes of Critical Thinking and Problem Solving, Communication, and Values and Ethics.
|
Degree |
Program Objective |
Assessed Course Objective |
|
CS |
I.a. Design an algorithmic solution to a problem using problem decomposition and step-wise refinement |
1. Design an algorithmic solution to a problem using problem decomposition and stepwise refinement |
|
CS |
I.b. Implement an algorithm by creating a tested and debugged programmatic solution |
2. Implement program solution to an algorithm or design specification. |
|
IS |
I.c. Integrate programming and design principles for effective problem solving to address the needs of an organization |
|
|
IT |
I.b. Integrate design and implementation principles to develop effective web pages |
|
|
IT |
I.e. Create efficient, graphical client/server applications |
3. Implement a program or module using multimedia or graphics and events. |
|
CS |
II.c. Devise effective user interfaces. |
4. Design programs that effectively communicate with the end user. |
|
IS |
II.d. Devise effective user interfaces for information systems |
|
|
CS, IS, IT |
III.c. Demonstrate an understanding of the Association of Computing Machinery (ACM) Code of Professional Ethics |
5. Understand ethics & professionalism in the context of an introductory programming class. |
|
LS |
Demonstrate basic knowledge of facts, terms, concepts, and theories central to STEM programs |
6. Implement a program or answer test questions that utilize basic terms and theories of the language to solve specific problems. |
|
LS |
Develop skill in using materials, techniques, tools, and technology central to STEM programs |
7. Select tools and techniques such as data types and control flow when implementing a program on the appropriate hardware. |
|
LS |
Demonstrate synthesis and integration of information and ideas |
8. Write programs that demonstrate the synthesis and integration of programming ideas into an algorithmic design. |
|
LS |
Analyze and interpret experimental data and results effectively |
9. 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:
Select appropriate data types, control flow, and programming techniques. [CS: PS&CT c | IS: PS&CT a | IT: PS&CT c]
Design an algorithmic, object-oriented solution that meets the specification of a programming problem. [CS: PS&CT a | IS: PS&CT c | IT: PS&CT a, b]
Write self-documenting programs according to standard techniques as defined by the instructor. [all 3: C&IS a]
This is a Goal Course in the Science, Technology and Mathematics area of the Liberal Studies Program.
Calendar (tentative), with assigned readings:
|
Date |
Topic |
Reading |
|
|
Aug |
31 |
Welcome |
|
|
Sep |
2 |
Getting Started with Alice |
Ch. 1 |
|
|
4 |
|
|
|
|
|
|
|
|
|
9 |
Methods |
Ch. 2 |
|
|
11 |
|
|
|
|
|
|
|
|
|
14 |
|
|
|
|
16 |
Variables and Functions |
Ch. 3 |
|
|
18 |
|
|
|
|
|
|
|
|
|
21 |
Flow Control |
Ch. 4 |
|
|
23 |
|
|
|
|
25 |
|
|
|
|
|
|
|
|
|
28 |
From Alice to Java |
Ch. 7 |
|
|
30 |
|
|
|
Oct |
2 |
|
|
|
|
|
|
|
|
|
5 |
Exam 1 |
|
|
|
7 |
Types and Expressions |
Ch. 8 |
|
|
9 |
|
|
|
|
|
|
|
|
|
14 |
|
|
|
|
16 |
Methods |
Ch. 9 |
|
|
|
|
|
|
|
19 |
|
|
|
|
21 |
|
|
|
|
23 |
|
|
|
|
|
|
|
|
|
26 |
|
|
|
|
28 |
Events in Alice |
Ch. 6 |
|
|
30 |
|
|
|
|
|
|
|
|
Nov |
2 |
|
|
|
|
4 |
Exam 2 |
|
|
|
6 |
Lists and Arrays in Alice |
Ch. 5 |
|
|
|
|
|
|
|
9 |
|
|
|
|
11 |
Flow Control in Java |
Ch. 10 |
|
|
13 |
Files and Exceptions |
Ch. 11 |
|
|
|
|
|
|
|
16 |
|
|
|
|
18 |
|
|
|
|
20 |
Arrays and Lists in Java |
Ch. 12 |
|
|
|
|
|
|
|
23 |
|
|
|
|
|
|
|
|
|
30 |
|
|
|
|
2 |
Object-Oriented Programming |
Ch. 13 |
|
|
4 |
|
|
|
|
|
|
|
|
|
7 |
Events and GUI's |
Ch. 14 |
|
|
9 |
Recursion |
Appendix B |
|
|
11 |
Flow Control |
Ch. 4 |
|
|
|
|
|
|
|
14 |
Last day of classes. |
|
|
|
|
|
|
|
|
16 |
Section 1 final exam, 1:00-3:00 |
|
|
|
17 |
Section 2 final exam, 1:00-3:00 |
|