This course introduces object-oriented programming, including class structure, inheritance and polymorphism. It will cover event-driven GUI programming. Other topics may include recursion, elementary data structures and algorithms, threads, file access, exceptions and intellectual property. Students will write programming projects to demonstrate their mastery of these concepts.
Outcomes:
- Design and implement programs using the Object Oriented Paradigm that require multiple classes and structures
- Develop code that responds to error conditions raised during execution
- Design, code, test, and debug simple event-driven programs that respond to user events
- Design, code, test, and debug programs that have Graphical User Interface
- Use industry standard debugging tools
- Discuss the consequences of software piracy on software developers and the role of relevant enforcement organizations
- Understand the uses and limitations of trademark, copyright and patents for intellectual property protection.
- Work effectively in teams .
- Use automated testing to verify correct program behavior
- Install and use a 3rd party library/API
Contact Info
Instructor: Dr. John F. Santore
Phone: 508-531-2226
Office: Science Center 333
E-Mail: jsantore@bridgew.edu
Instructor Web Page: http://webhost.bridgew.edu/jsantore/
Course Web Page:
http://webhost.bridgew.edu/jsantore/Fall2021/GameDes/
Office hours Fall 2021
Monday: 5:00-5:50 (before the grad class)Tuesday: 11am-noon
Thursday: noon-1pm
Friday: 10-11am
Class Requirements and grading:
- Project related work: 45% (coding, testing, design, etc)
- Class(homework/quizzes/participation/presentation(s)):10%
- Exams (one midterm and one final): 45%
Project Work:
You can't really grok a programming language without writing lots of programs in the language, so a large part of the grade will be project work. Most project work is done individually. There will be Several projects in the class. The earlier projects will be less difficult and therefore will be worth less than the later projects which will require more effort and time. These projects will be larger and take more time than most Comp151 projects.Later in the course there will be at least one project that is done in groups. You may work as closely with the other members of your group in this/these project(s) as your group wishes.
Non-Project work:
Non-project work (exams and misc assignments) are individual assignments and should not be done with any other classmates. (discussion without recording devices is always allowed for homeworks, exams are closed neighbor) The exam part of the grade will be split 20% for the midterm and 25% for the final exam.Students with special needs:
Bridgewater
State University is committed to providing equal access to
students with documented disabilities through the
provision of reasonable accommodations. If you have a
disability and feel you need accommodations in this
course, you must present a Letter of
Accommodation from Student Accessibility Services (SAS).
SAS can be reached at Disability_Resources@bridgew.edu or
508.531.2194. If you are granted accommodations, please
get the letter to me ASAP so we can setup reasonable
accommodations.
Academic Integrity:
See the BSU Academic Integrity statement for a complete description of the academic integrity procedure at Bridgewater.
Academic integrity will be taken very seriously in this class. All individual work must be your own. If you cheat or otherwise represent the work of others as your own. You will receive an F for the course.
Guidelines for proper academic integrity:
Discussing problems with your classmates can help you understand the problems and kinds of solutions to those problems that you will learn about in this class. In an effort to make in clear what sort of discussions are appropriate and encouraged in this class and which cross the line to academic dishonesty I use the following guidelines: You may discuss any out of class problem I assign in this class with your classmates or other so long as no one is using any sort of recording implement including, but not limited to, computers, digital recorders, pens, pencils, phones etc. This lets you talk about theoretical solutions without sharing the actual implementations. As soon as anyone in the group is typing, writing etc, all conversations must stop. You may look at someone else's program code only very briefly in order to spot a simple syntax error. As a rule of thumb, if you find yourself looking at someone else's code for more than about 30-45 seconds it is probably time to stop. If you are having trouble with your program, come to the instructor's office hours for more help.
All in class exams and quizzes are closed book and closed neighbor. If you are found using a data storage device of any kind during one of these evaluations, you will be failed for the course.
Of course for your
group work, your entire group is intended to produce a
single deliverable and are expected to work together on all
parts of that so the above does not apply to members of a
group working together on their group work.
Standards for in class behavior:
You are all adults and are expected to act as adults in this class. While questions are encouraged in this class, if a particular line of questioning is taking us too far afield, I will ask the student to come by my office hours or to see me after class.
Cell phones, electronic organizers and other devices should be silenced while in class. If you work of EMS or something similar, please turn your cell phones etc to vibrate mode so that you are not disrupting others in the class.
In the unlikely case of trouble makers in the class, those who are simply attempting to disrupt the class will be asked to stop; those who will not, will be referred to the University for appropriate action.
I do not
take regular attendance. Because of the census day
regulations, I'll have to take occasional
attendance. You are adults and are paying for this
class. If you miss a class, you are expected to get
notes from a classmate and familiarize yourself with
the material that was covered before returning to
class. I do find from dealing with students in the
past that attendance at lecture is highly correlated
with doing well in my classes.
Tentative Schedule:
I may well rearrange some of the later material based on classroom interaction.This is my first time teaching the python to java version of this course so I might rearrange parts of it.
Week |
Topic |
Week 1 | Introduction to the class |
Week 2 | Getting from python to Java |
Week 3 | Python to Java part II |
Week 4 | Objects and classes |
Week 5 |
Inheritance, method overriding, and polymophism |
Week 6 |
Interfaces and debugging |
Week 7 |
Third party libraries and event driven-graphical
user interfaces with JavaFX |
Week 8 |
Review and Midterm |
Week 9 |
Introduction to Intellectual property for CS students |
Week 10 |
Error handling and Team work |
Week 11 |
Effectively using the java standard library and
collections. |
Week 12 |
Automated Testing |
Week 13 |
Software piracy/ Intellectual property theft. |
Week 14 |
Slip time (that schedule above is a bit ambitious) |
Week 15 |
review and final |