SPRING  2020


COSC 237.001: Introduction to Computer Science II

 

Instructor:
Class Hours:

--------------
Office Hours:
Office:
Email:
Phone: 
Fax: 

Iliana Zimand
Lecture:  Tuesday, Thursday 11:00 a.m. - 12:15 p.m. Location: YR 202

Lab :      Wednesday 11:00 a.m. - 12:40 p.m. Location: YR 402
Thursday 9:30 a.m. - 10:30 a.m. (by appointment)
7800 York Rd. Room: 441
izimand@towson.edu
(410) 704 - 4666
(410) 704 - 3868

Course Description: This course provides an introduction to data structures and their implementations, computer systems concepts, application of data structures in sort and search algorithms and the software development process (TU catalog).
This is the second course in a sequence aimed at introducing students to computer science and programming. The emphasis is on object-oriented programming using Java, the design and implementation of abstract data types, recursion, searching and sorting, and non-linear data structures.

Course Objectives: Upon completion of this course, students will be able to:

 

·         Improve program design and coding skills acquired in CS I

·         Understand, explain and use fundamental concepts of object-oriented programming, including abstract and generic data types, encapsulation, inheritance, and polymorphism.

·         Use this understanding to write object-oriented programs.

·         Understand the fundamental programming concepts and use of a variety of data structures, including lists, stacks, queues, and trees.

·         Use data structures to solve various computing problems.

·         Understand and use basic concepts of algorithmic analysis, with an introduction to the time efficiency of various searching and sorting algorithms.

·         Design recursive and iterative solutions to problems.

The overall objective is to provide students object-oriented programming skills and a firm foundation for further study in computer science or information systems.

Prerequisite: COSC 236
Prerequisite: MATH 211 or MATH 273. (TU catalog)

Class Organization: This course is crucial for almost any other computer class that you will take in the future so it is important that you do well. The class will consist of two lectures per week and one lab session. You are strongly encouraged to do all the class work assigned and participate in class discussions.

The software development environment for the course will be DrJava and it is available in our labs. As these are open labs and you are using public machines, you will want to make arrangements for saving your work (e-mail, Tiger File space, USB memory sticks, etc.)

Work Load: This class requires object-oriented programming and this implies a lot of individual work. How much? It depends on your previous exposure to programming, but in principle plan to work 6-8 additional hours per week in the open labs (or at home if you have a computer and the necessary software). There will be 3 tests (two semester tests, and a cumulative final exam), some unannounced quizzes, 5 programming assignments, and 14 - 15 lab assignments. Students will not be permitted to retain (or copy) exams. Any student wishing to review the exam in greater detail should make an office appointment and I'll be happy to go over it with you in person. ­Lab assignments and exercises will be given each week during lab period; they are due at the start of the next lab. In most cases you will be able to finish the lab assignments during the two-hour lab session. It is very important that you complete all labs and programming assignments: most students will find it extremely difficult to do well on the tests if they do not do the labs and the homework.

Note: Students who don't already have a TU e-mail account should acquire one. This is the account you should use to communicate with me and the TA.

Topics to be covered:

Books and References:

(Main text) Building Java Programs: A Back to Basics Approach, Reges and Stepp, Addison-Wesley, 2016

(Reference, optional) Java Programming, Program Design Including Data Structures, by D.S. Malik, Thomson Course Technology, 2008.

Class website:  http://orion.towson.edu/~izimand  Lecture notes, assignments, labs, tutorials, announcements, and other materials will be posted here.

Software Downloads:

The program development environment used will be DrJava, a Java programming environment developed specially for students. It is available for free download at http://www.drjava.org. In addition, the Java Development Kit (JDK) must be downloaded here

Grading Policy:

Programming Assignments

20%

Test #1

20%

Test #2

20%

Final Exam: Tuesday, 5/19/2020, 10:15 – 12:15 (YR202)

30%

Labs, quizzes, class participation

10%

NOTE: Towson University uses the +/- grading system. The percentage intervals are as given in the table below:

---

A: 93%  -  100%

A-: 90%  -  92.9%

B+: 87%  -  89.9%

B: 83%  -  86.9%

B-: 80%  -  82.9%

C+: 75%  -  79.9%

C: 70%  -  74.9%

---

D+: 67%  -  69.9%

D: 60%  -  66.9%

---

---

F: 0%    -  59.9%

---

Course Policies / Guidelines:

All course policies are fundamentally intended to sustain an atmosphere that is non-disruptive and conductive to learning.

  1. Academic Integrity (See the TU Student Academic Integrity Policy): Assignments in this course are of an individual nature and each student is expected to submit work of her/his own creation. Avoid situations that could compromise academic integrity. Activities considered to be dishonest: copying an electronic version of someone else's code, even if you change the code before submitting it; copying a section of code from someone else's program; copying source code from the Internet; allowing someone else to copy your code; leaving your work on the hard disk of a lab or library computer.

2.      Attendance: Class attendance is essential to doing well in the course, and coming to class shows your commitment to doing the work and understanding and learning the material. Students are expected to attend each class meeting and attendance is mandatory. This class is not just a lecture and the lecture notes posted online are not a replacement for class attendance. During the class session, I may use exercises, questions, and other approaches that may challenge students to solve problems – student involvement in these discussions is important and this course will weight attendance and class participation as a small part of the final grade. Students who miss class meetings or show a pattern of lateness without permission of the instructor will be penalized with a reduction in grade.

The following Attendance Policy was developed by the Computer and Information Sciences Department for COSC 175, COSC 236 and COSC 237 courses, in an effort to be consistent and to inform students of the attendance expectation in these courses.

1.     Students are expected to come to class on time and prepared.

2.     Attendance will be recorded at every class session lecture and lab

3.     Your 3rd and each subsequent unexcused absence will lower your grade by 5%.

4.     The equivalent of 2 weeks’ worth of unexcused absences will result in an automatic F. No exceptions.

In accordance with University policy, student absences will be excused under the following circumstances:

1.     Cases of illness or injury that prevent attendance in class (written documentation required)

2.     Religious observance that prevents attendance in class (two weeks advanced written notice required)

3.     Participation in authorized university activities during class time (two weeks written notice from authorized university personnel)

4.     Compelling verifiable circumstances beyond the control of the student.

Also, all students are expected to be on-time for (and remain for the duration of) all class sessions and make every attempt to avoid disrupting the class. Students are required to notify the instructor via e-mail if they are unable to attend a class meeting. Written documentation of the reason for the absence will be requested by the instructor and must be submitted for the absence to be excused. If a student is absent from an exam during the scheduled time for that exam, the student will automatically receive a grade of 0 for the exam unless: (a) the student notifies the instructor of the absence at least 24 hours BEFORE the exam and supplies a written doctor's excuse explaining the absence or (b) there is an extraordinary situation which the instructor allows as an acceptable excuse. If (a) or (b) applies, arrangements for a make-up exam will be made.

Several unannounced quizzes will be administered during the semester. Quizzes cannot be made-up under any circumstances.

3.     Assignments: All assignments (along with other course materials) will be posted on the class website, so you should check it out before emailing the instructor with any questions pertaining to assignments or daily topics. Keep in mind that the website is not a replacement for class attendance and not every instruction given in class will necessarily be repeated online; again, you should make every effort to attend class on a regular basis. Assignments are due at the beginning of class on the due date. Assignments are expected to be submitted on time regardless of your attendance on a particular day. Late programming assignments will not be accepted. All assignments should be typed and appropriately documented. You will not be graded for any loose sheets turned in. So make sure to staple all the sheets you turn in or to bring them in a folder. Note that any deadlines indicate the amount of time and effort required both toward the completion of the assignment and its documentation. Do not anticipate completing your assignments 1-2 days prior to the final deadlines.

  1. Cell phones:  Please ensure that all cell phones, beepers, and any other devices that can potentially disrupt the class are turned off each day upon entering the classroom.  Under no circumstances are calls to be made or taken in class! Same rules apply for text messaging.
  2. In and out the classroom during lecture: Keep in mind that this is a teaching/learning environment and every time you get in or out the classroom during the lecture it is disrupting for everybody. As mentioned before, you are expected to be on time and remain in class for the duration of a class session.
  3. Laptops: Laptops are prohibited from use during lectures. However, a laptop may be brought to lab meetings.
  4. Very important: You need to be aware that a commitment of time and effort is necessary if you wish to do well in this course. Learning computer programming is a lot like learning a sport, an instrument, or a foreign language. That is, you must practice, practice, and practice!!!

 

Department Notes:

 

  1. Third Attempts in this Course 

 

Only under exceptional circumstances will the department accept a third attempt of this course. It is the policy of the Department of Computer and Information Sciences to deny any third attempts that is not in the best interest of the student. If this is your third attempt of this course, you must fill out a Third Attempt Petition and have it approved before continuing in this course. Third Attempt Petitions are available online at the following link or can be picked up in the CIS department front office: http://www.towson.edu/registrar/forms.html

 

  1. Food and drinks are prohibited from classrooms and labs. Please use the atrium area for breaks.