ISTE- 120 – Computational Problem Solving for the Information Domain I Page 1 of 9
REMINDER : The information presented in this syllabus is subject to expansion, change, or modification during the semester
Instructor : Tanweer Alam
Office :
Office Hours: DAYS & TIMES
Monday – 8:50 PM – 9:50 PM
Wednesday - 8:50 PM – 9:50 PM
Other times by confirmed appointment.
Phone:
Email: [email protected]
TA: Maxy Tolosa [email protected]
Sofia Grytsenko [email protected]
Course: GCCIS.ISTE. 120
Sections: 1
Name: Comp Prob Solving – Info Domain I
Times: Mon/Wed – 6:00 PM – 8: 5 0 PM
Location: (GOL)- 2620
myCourses is used for materials and assignment
folders
https://mycourses.rit.edu/
Course Text/Resources and Materials
- “ Big Java: Early Objects” 7 th ed. by Cay S. Horstmann, Wiley, ISBN 978 - 1 - 119 - 49909 - 1
- Saving work-in-progress File backup is critically important. Bring a storage medium (Flash drive/memory stick) to every class session. A name and section number must be clearly marked on the device as well as a file with contact information and named “_OwnedBy.txt.” Media left in the classroom is returned to the Dean’s office. Alternative backup solutions include the myCourses “locker,” networked drives, or connecting to a personal computer.
Important RIT Dates:
Last day of add/drop Monday February 1 , 20 21
Last day to withdraw Wednesday May 5, 20 21
NOTE: iSchool policy states that a student has one semester to challenge any grade. After that, grades cannot be challenged.
NOTE: Any work not submitted by the final due date receives a grade of zero, unless arrangements are made previous to the initial due date.
ISTE- 120 – Computational Problem Solving for the Information Domain I Page 2 of 9
Course Description This is the first course in the introductory programming sequence required for all Information Technology students. Topics include elementary data types, arithmetic and logical operations, control structures and error handling, methods, inheritance, reusability, input/output and an object-oriented programming design and implementation. Emphasis is placed on the development of problem-solving skills. Moderately large programming assignments are required.
Course Format This course will be taught this semester using a “Blended A/B” format. Basically, all lectures will be recorded and posted for you to review, along with notes for your use. The week will run from Monday to Sunday. Lectures for the week, along with lab assignments, will be posted each Saturday. Review the lecture material in the order posted. You are expected to attend in-person on your designated day (Monday or Wednesday). During those sessions, we will be working on the labs. Exams will be given so that they can be taken on-line.
Online Flex
Additionally, the Online Flex option in this course allows you, the student, the
flexibility to participate in this course synchronously or asynchronously online.
While this course is listed as having at least some in-person component, you will be
able to meet all of the course requirements online, including all participation,
assignments, and exams. This is not a fully online course design, but rather an
option for you to elect to not be in the physical classroom space if that is better for
you. To elect the Online Flex option, contact me immediately. We will set up a
meeting to discuss your shift to the Flex option, and I will explain my expectations
for how you will complete all of the course requirements online, and I will tell you
how I will support you in that completion (e.g. where to find recorded class
sessions, assignments to be completed, due dates, etc.). Selecting this option
means that I will never see you in the classroom, but let’s make sure that we are
connecting online frequently to keep you on track to success in the course. By
electing this option, you confirm that you have consistent, reliable internet access
that will support you being online and streaming video daily.
Course Objectives
General : This course will provide students with the foundational skills necessary to do
object-oriented programming. Emphasis is placed on program design methodologies and
problem solving using commonly available development tools.
Specific : Upon course completion, a student should be able to implement moderately large
programming projects and should:
- Demonstrate the ability to configure a computer to create, compile, and run programs.
- Demonstrate the ability to write statements using different data types and operators that perform necessary operations based on the program’s requirements.
- Be able to analyze errors that occur when programs run and make changes based on this feedback.
- Be able to use sequence, selection and loop statements to control the execution of a program.
- Demonstrate the ability to create methods with or without return values that perform various operations, and invoke them.
- Be able to use utility Application Programmer Interface (API) classes such as Math and String, and use their methods to solve various problems.
- Demonstrate the ability to create a class by defining both attributes that describe the state of the class and methods that enforce Object Oriented Programming (OOP) encapsulation principles.
- Be able to define arrays, and determine to create and use arrays.
- Demonstrate the ability to work with multiple classes and multiple instantiations of a class.
- Write object-oriented programs with multiple class files and create objects used between class files
- Write event-driven programs using distinct listener class file objects and/or same class file listener objects
- Write object-oriented programs using class inheritance
- Write interface and abstract class files and use them in object-oriented programs
- Write object-oriented programs to read and write data using the java.io package
- Write classes with catch and throw exception class objects
- Write programs that pass and receive objects via an object methods
Prerequisites :
There are no prerequisites other than to be computer literate. To be successful in this
course, there must be a willingness to work 10 - 20 hours per week on lecture review,
ISTE- 120 – Computational Problem Solving for the Information Domain I Page 4 of 9
laboratory preparation, and homework assignments in preparation for four exams and a
final.
Role of course in curriculum for:
BS CIT: This is the first course in the introductory programming sequence required of all
students matriculated in Information Technology.
Course required for graduation in:
BS CIT, BS WMC and BS HCI
Specific Program Outcome(s):
- Program effectively within the student’s specialty area
- Adhere to the ethical standards of the IT profession
Organization
Exams: There will be five exams given during the semester to assess the student’s
programming knowledge and skills. The first three are composed of 2 parts.
Part I of the exam is comprised of a series of questions covering material discussed during
class, from the reading and lecture notes.
Part II of the exam is a practical where students are required to write and execute a Java
program for a given problem during live programming sessions in front of the course
instructor(s). Notes, textbooks, extra time, and calculators will not be allowed during
these times (unless special accommodations on record permit them and the instructor is
made aware of them, at the beginning of the course).
The first three exams are composed of both of these parts. The fourth only contains the
Part II component and the fifth only the Part I component.
Missing an exam will result in a grade of zero unless the student contacts the instructor at
least 24 hours in advance of that exam. If the student's reason is valid (documentation may
be required), the student will be allowed to make-up the exam at a later time.
Final Exam: The final (fifth) exam will be given during finals week as scheduled by the
registrar’s office. The final exam will be a comprehensive theory final that measures the
student’s overall understanding of materials covered during the semester. There will be no
makeup or rescheduling of this exam. Missing it will result in a zero grade. A bona fide
emergency (documented) at this time will result in an incomplete grade for the course. A
makeup exam will then be scheduled during the first weeks of the next semester at which
time the incomplete grade will be changed based upon the student’s makeup performance
and the current semester’s work.
Occasionally students have conflicts between final exams scheduled at the same time. If
you have conflicting final exams, according to institute policy, “... by the last day of the 10th
week of classes during fall or spring term or in the case of summer term or other sessions
less than 16 weeks by the last day of 2/3 of the session, the student should submit a
written request for rescheduling to the head of the home department, with a copy to the
instructor being asked to provide the rescheduled examination. By the last day of the
12th week of classes the department head will, after consultation with the parties
involved, notify the student of the date of the rescheduled examination ...“
(http://www.rit.edu/~620www/Manual/sectionD/D11.html)
Students are required to have at least a 75% average on the five exams in order to pass
the course and take the second semester course (ISTE- 121 ).
Labs : Each week or so, the students have a programming lab to practice working with the
topics covered that week (see schedule). A certain amount of work will be required during
the lab sessions. These programming assignments will be graded. A specified portion of
the lab must be completed during the lab class time. Sign-offs are only done during lab
sessions. You must attend lab to get a lab grade.
Homework: Programming assignments will be assigned as an integral part of your learning
for this course. This work is to be done outside of the usual class hours. These
assignments will be more complicated and larger than the practice exercises. Homework
will be assigned each week on Saturday (see myCourses) and are due the following week on
Sunday. Due dates are posted along with the dropbox on myCourses. Homework
questions can be discussed in class or in office hours.
Homework assignments will not be accepted after the last day of class.
Homework assignments are posted weekly in myCourses on Wednesdays. It is your
responsibility to pick up the homework and complete it by the following Wednesday.
Homework Grading: Programs that do not compile, with the Java version used in the RIT
labs, receive a grade of zero. This also includes forgetting to send Java files or class files
required for the application to run by itself.
myCourses : Students are required to check myCourses for course communications and for
submission of those assignments that must be submitted in soft-copy (electronic) form to a
designated Assignment folder. myCourses provides the email accounts from which the
instructor will accept and respond to email exchanges with students. Any email sent to the
instructor through any other email system will be discarded without prejudice. Should
problems exist with the submission of communications through myCourses or to the email
addresses listed in myCourses, contact the myCourses help center 585 - 475 - HELP, or email
the [email protected] and cc: the instructor with the problem.
The myCourses Assignment folders for this course are the only means where assignments
are accepted. No work is accepted through email to the instructor, TA, or graders.
Grading : The course grading criteria and grading scale are as follows:
Grade ranges for course grade Grade
>= 90.0% A
>= 80.0% & < 90% B
>= 70.0 % & < 80.0% C
>= 60.0 % & < 70.0% D
< 60.0%
Or
< 75% over-all five exam average F
Component Weight
Homeworks 20 %
Labs 20 %
Exams, which consists of:
Practical 1 = 5 %
Practical 2 = 10 %
Practical 3 = 15 %
Practical 4 = 15%
Comprehensive 15 %
Jan 25 - Jan 31
===============
Day01 - Introduction and Anatomy of a program
Day02 - OBJECTS | - Simple Graphics, Constructors, Method calls
Day03 - LAB1 - Simple Object
Feb1-7
==============
Day04 - OBJECTS II - Simple methods, accessors, mutators, test class.
Day05 - OBJECTS Ill - review, best practices, Student class
Day06 - Lab02 - Using Objects
Feb 8-14
=============
Day07 - CLASSES | - BankAccount Class
Day08 - CLASSES II - Compiling, ICE SalariedEmployee
Day09 - Lab03 — Calculators
Feb 15 - 21
==============
Day10 - Classes III - Scope, Persistence, Overloading, Static Methods
Day11 - Lab04 - Classes and Objects
Day12 - Practicale Exam 1
Feb 22 - 28
=============
Day13 - Datatypes and Statements - CashRegister
Day14 - String Numeric Conversion, Scanner, Printf
Day15 - Lab05 Implementing Classes and Datatypes
Mar 1-7
============
Day16 - Decisions | - if, if-else
Day17 - Decisions II - else-if, switch, boolean algebra
Day18 - Lab06 - Expressions and Scanner
Mar 8 - 14
============
Day19 - Repetition | - while and do-while
Day20 - Repetition II - for
Day21 - Lab0O7 - Decisions
Mar 15 - 21
=============
Day22 - Practical Exam 2
Day23 - Lab08 - Loops
Day24 - Arrays
Mar 22 - 28
=============
Day25 - ArrayList
Day26 - LabO9 - Arrays and ArrayLists
Mar 29 - Apr 4
===============
Day27 - 2D Arrays
Day28 - Inheritance |
Day29 - Lab 10 - 2D Arrays
Apr5-11
===============
Day30 - Inheritance II
Day31 - Inheritance III,
Day32 - Lab11 - Inheritance
Apr 12 - 18
===============
Day33 - Interfaces
Day34 - Practical Exam 3
Day35 - Lab12 - Interfaces
Apr 19-25
===============
Day36 - Character IO and Exceptions
Day37 - Lab13 - Character IO and Exceptions
Day38 - Byte (binary) 1O
Apr 26 - May 2
===============
Day39 - Lab14 — Exceptions
Day40 - Lab15 - Binary |O
Day41 - Practicale Exam 4
May 3-5 -- May 5 - TBD
========================
May 7, 10 - 13 -- FINAL EXAMS
==============================
Gender-based discrimination and harassment: RIT is committed to providing a safe learning environment, free of harassment and discrimination as articulated in our university policies located on our governance website. RIT’s policies require faculty to share information about incidents of gender based discrimination and harassment with RIT’s Title IX coordinator or deputy coordinators, regardless whether the incidents are stated to them in person or shared by students as part of their coursework.
Mobiles: Cell phones are allowed in class but must be silenced. The instructor recognizes the ubiquitous nature of these personal devices. Any student using them must leave the room first. Disruption of classmates through smartphone use may result in expulsion from the classroom. Please contact the instructor before class, or at the beginning of class, for any anticipated emergency situations.
Notices of Accommodation: A Notice of Accommodation (NOA) document must be provided within a week of starting this course. If provided later in the course, it will not be retroactive. An NOA is not a license to retake an exam or practical.
Late Policy: Occasionally an assignment might not be submitted on time because of an emergency. If so, contact the instructor before the due date. Excuses made after the fact will not be honored. This applies to Homework assignments and all Exams.
Extra Credit: There are no extra credit assignments for this course.
Final Exam Date: The final exam date for this course is set by the Registrar’s Office. Modification to, or early exam dates will not be scheduled to accommodate student travel plans.
Course Evaluation: RIT uses SmartEvals , a university-wide student rating system that allows students to evaluate their professors based on a uniform platform that gives a common look and feel across all courses. SmartEvals will be open weeks 13 through 15 of the semester and should take 10 minutes or less to complete. For decades, the teaching community at RIT has taken pride in the quality of course instruction and values student input during the end of the term review period. All students are encouraged to participate in their course review.
Java Version: We use J2SE version consistent with the version in the labs. You should be using a similar version for your assignments. See “Homework Grading” above to see how code that does not compile is graded.
Contact Information: Professor to Student Communication: Any updates to assignments and any emails that are required for student/class updates will be done through myCourses. Students are responsible for checking RIT email and the myCourses conference for this course on a daily basis. Students who
ISTE- 120 – Computational Problem Solving for the Information Domain I Page 9 of 9
forward email to another account are responsible for making sure email forwarding continues to work throughout the semester.
Student to Professor Communication: Most instructors generally have email running whenever logged in thus ensuring most replies to student queries within a day. Exceptions apply for Friday and weekends due to a number of factors. To separate email from spam, start email subjects with “ 120 - 01 ...” where 01 is the section number. Use your RIT account or risk having it deleted it as spam.
Tutors: The iSchool has several Java tutors. They are there to help with specific programming problems. They will not give you the answer to homework, but can help you work through debugging, logic problems, etc. If you do not understand basic course concepts, you should come to office hours or request alternate office hours. Tutors are not there to explain the course; your instructor can better assist with an understanding of topics in a one-on-one environment when needed.
Academic Dishonesty: The policy on dishonesty is simple : Anyone caught cheating receives an “F” as a course grade, is removed from the section and a letter detailing the incident is placed into his or her folder. Any student accused of cheating should realize that the evidence has already been verified by other faculty members and will withstand an appeal.
Acceptable Use of RIT Computer and Network Resources
We are also bound by the following Acceptable Computer Use policy located at http://www.rit.edu/academicaffairs/policiesmanual/sectionC/C82.html
Finally...
Any or all of the previous information, except the academic dishonesty policy and Acceptable Computer Use policy , are subject to change or modification during the semester.