Document not found! Please try again

BMI 540: Computer Science with Java Programming Oregon Health ...

69 downloads 35566 Views 205KB Size Report
Java: An Introduction to Problem Solving & Programming. Sixth Edition, Walter ... Head First Java (2nd Edition), Kathy Sierra and Bert Bates. O'Reilly Press ...
BMI 540: Computer Science with Java Programming Oregon Health & Science University Fall 2013  

General Information Dates: September 30, 2013 – December 13, 2013 Instructor: Justin Fletcher, PhD  Email: [email protected]  Office: BICC 405  Required text: Java: An Introduction to Problem Solving & Programming.  Sixth Edition, Walter Savitch,  Pearson/Prentice‐Hall, 2011.   *Note:  While it’s preferable that you use the 6th edition, the 5th edition is acceptable for use.  The  figure numbers and page numbers will not match those in the lectures, however.  Additional optional material: Computer Science:  An Overview. Eleventh Edition, J. Glenn Brookshear, Addison‐Wesley, 2011.  Technology in Action, Complete Version. Tenth Edition, Alan Evans, Kendall Martin, Mary Anne  Poatsy, Prentice‐Hall, 2014.  Head First Java (2nd Edition), Kathy Sierra and Bert Bates.  O’Reilly Press, 2005.  Class times and location: On campus: Wednesdays and Fridays, 9 – 10:30 am, BICC 124  Distance: Course material posted each Wednesday. 

Overview   BMI 540 provides an introduction to computer science and programming demonstrated through  the Java programming language.  In addition, the course includes the presentation of computer  science principles, including computer representation and storage of data, structured  programming, object‐oriented programming, and algorithms.  The goal of this class is to expose  Medical Informatics students to software development with an object oriented programming  language so they can communicate effectively with software developers and/or continue further  with learning software programming and development.  

Prerequisites   Students should have knowledge of basic structured programming techniques prior to  admission to the class; students should have completed at least one prior college level course in  computer programming, such as C, Perl, Visual Basic, C++,  or beginning Java.   In addition,  students must pass a pretest before enrolling in the course OR have completed the Intro to  Programming online course at OHSU. 

Goals of the Course   The main goal of BMI 540 is to introduce students to the fundamentals of computer science and  object‐oriented programming in Java. Specific topics for BMI 540 include:    The history of computing   Computer representation and manipulation of data    Operating system basics    Algorithms, iterative and recursive structures, efficiency and correctness    Fundamental data structures    Fundamental data types, such as strings, integers, floats, etc.    Control structures, such as if‐then, while, etc.    Classes and methods    Program modularity, step‐wise refinement and divide‐and‐conquer approaches to  problem solving   Simple I/O from files.   Introduction to other areas of computer science that are important to medical  informatics 

Computing Environment   Students will be using the eclipse IDE on their personal Macs and/or PCs; more details will be  provided during the course.  Instructions for turning in your work will be provided with each exercise and must be followed  exactly for full credit.  

Grading   The class will require completion of weekly homework assignments and two examinations. The  final grade will be determined with an approximate weighting of  Participation 10%  Homework 40%  Quizzes 20%  Final Exam 30% 

 Participation is defined as class attendance for on campus students and participation in the  discussion board for distance students. Homework assignments must be turned in by the due  date. Only assignments that are correct and complete upon submission by the original due date  will receive full credit.   Learning to program can be very time consuming and frustrating, but the only way to learn is by  doing. It is in your best interests to keep up with the homework assignments and the reading, as  it is easy to get hopelessly behind. To encourage everyone to keep up, assignments that are not  submitted on time will be penalized. Late assignments will be downgraded up to 10% per day.   Assignments that are more than one week late will not be accepted.  Graduate Studies in the OHSU School of Medicine is committed to providing grades to students  in a timely manner. Course instructors will provide students with information in writing at the  beginning of each course that describes the grading policies and procedures including but not  limited to evaluation criteria, expected time needed to grade individual student examinations  and type of feedback they will provide.  Class grades are due to the Registrar by the Friday following the week of finals. However, on  those occasions when a grade has not been submitted by the deadline, the following procedure  shall be followed:  1) The Department1 /Program Coordinator2 will immediately contact the Instructor  requesting the missing grade, with a copy to the Program Director and Registrar.  2) If the grade is still overdue by the end of next week, the Department1 /Program  Coordinator2 will email the Department Chair directly, with a copy to the Instructor and  Program Director requesting resolution of the missing grade.  3) If, after an additional week the grade is still outstanding, the student or Department1  /Program Coordinator2 may petition the Office of Graduate students for final resolution.  1 2

For courses that are run by a specific department.  For the conjoined courses (course number is preceded by CON_ that are run by Graduate Studies. 

Academic Honesty   Academic honesty is required in order to pass this course. Students are encouraged to help each  other; nevertheless, all quizzes, written assignments and presentations must be the work of the  individual student.  Literature and resources (including Internet resources) employed in fulfilling  assignments must be cited.     See http://www.ohsu.edu/xd/education/library/research‐ assistance/plagiarism.cfm?WT_rank=1# for information on code of conduct for OHSU and  http://www.ohsu.edu/xd/education/teaching‐and‐learning‐center/for‐students/index.cfm for  more information on citing sources and recognizing plagiarism.    It is acceptable and even encouraged to discuss general programming issues and computer  science concepts. However, there should be no sharing of actual code for the homework  exercises. Learning to write and debug your own code is an essential part of this course. 

Likewise, students are expected not to collaborate on the answers to homework problems that  do not require programming, although discussion of the concepts involved and working of  similar problems together is permitted.    In an effort to uphold the principles and practice of  academic honesty, OHSU may use originality checking systems such as Turnitin to compare a  student’s submitted work against multiple sources. 

COPYRIGHT INFORMATION   Every reasonable effort has been made to protect the copyright requirements of materials used  in this course.  Class participants are warned not to copy, audio, or videotape in violation of  copyright laws. Journal articles will be kept on reserve at the library or online for student access.  Copyright law does allow for making one personal copy of each article from the original article.  This limit also applies to electronic sources.    To comply with the fair use fair use doctrine of the US copyright law, Sakai course sites close  three weeks after grades are posted with the Registrar. Please be sure to download all course  material you wish to keep before this time as you will have no further access to your courses. 

USE OF SAKAI   This course will have an online component, which can be accessed through Sakai, OHSU’s online  course management system. For any technical questions or if you need help logging in, please  contact the Sakai Help Desk.    Hours: Sakai Help Desk is available Mon – Fri, 8 am – 10 pm and weekends and holidays 12 pm –  5 pm  Contact Information:  (Local) 503‐494‐7074 (4‐7074 on campus)  (Toll‐free) 877‐972‐5249  (Web) http://atech.ohsu.edu/help  (Email) [email protected] 

Student Access   OHSU is committed to providing equal access to qualified students with disabilities. Student  Access determines and facilitates reasonable accommodations, including academic adjustments  and auxiliary aids, for students with documented disabilities. A qualified student with a disability  is a person who meets the academic and technical standards requisite to admission or  participation in a particular program of study. As defined by the Americans with Disability Act  (ADA), a person with a disability has a physical or mental impairment that substantially limits  one or more major life activities of the individual. This may include, but is not limited to, physical  conditions, chronic health issues, sensory impairments, mental health conditions, learning  disabilities and ADHD. Student Access works with students with disabilities from all of OHSU’s  educational programs and at each campus.  

  Each school has an assigned Program Accommodation Liaison (PAL), who acts as an “in‐house”  resource for students and faculty concerning access issues for students with disabilities. The PAL  works in collaboration with Student Access to implement recommended accommodations for  students with disabilities.    It is recommended that you contact Student Access to consult about possible accommodations  if you a) received disability accommodations in the past, b) begin experiencing academic  difficulties, and/or c) are given a new diagnosis from your healthcare provider.     Learn more about Student Access:  Phone: 503 494‐0082  Email: [email protected]  Website: www.ohsu.edu/student‐access 

Schedule of Topics (tentative)   Week 



Topic 

     

 2  

 3  



    





  

     

Readings   Required:  Savitch, Ch. 1  Intro to Computers and Java     Recommended:  The History of Computing   Brookshear, Ch.  0; Evans, Ch. 1‐2     Required:  Introduction to Object Oriented  Savitch, Ch. 2, 5  programming with Java   Recommended:    Brookshear, Ch.  Java Primitive Types, Strings and  6.5  Console I/O     Required:   Savitch, Ch. 3, 4  Flow of Control in Java       Recommended:  Data Representation and Manipulation  Brookshear,    Ch. 1, 2  Arrays, Debugging in Java   Required:  Savitch, Ch. 7.1   Quiz #1     Required:  OOP:  Classes, Objects, Methods, Scope,  Savitch, Ch. 5, 6  Constructors, Overloading     Recommended:  Operating Systems  Brookshear, Ch.  3; Evans, Ch. 5   Required:  Savitch, Ch. 8  Inheritance     Recommended:  Brookshear, Ch.  Algorithm Efficiency  5   

Homework 

Install eclipse and write  a simple program 

Simple program with  two classes 

Program using  Java  control structures,  constants, variables;  data representation  exercises 

 

Write a multiple class  program with arrays; OS  concepts 

Write a multiple class  program with  inheritance; algorithm  efficiency concepts 



 Abstract Classes, Dynamic Binding &  Polymorphism     Building a Program in Java     Quiz #2 



 Exception Handling, File I/O     Data Structures 



 Java Data Structures     Thanksgiving holiday 

10 

 GUIs & Java Swing     Optional: Databases and Networking 

11 

 Final Examination  

 

 

 Required:  Savitch,  Ch. 9,  10  Program with I/O from    files; data structure   Recommended:  concepts  Brookshear, Ch.  8   Required:  Program using linked list  Savitch, Ch. 12  or tree structure     Recommended:  Savitch, Ch. 15     Recommended:    Brookshear,  Ch.  4  & 9; Evans, Ch.  11‐12