CIS 1968. Honors Program Design and Abstraction

Section 001. Spring 2024

Syllabus

Instructor

Dr. Pei Wang
OFFICE: Room 347, Science Education and Research Center (SERC)
PHONE: (215)204-9255 (during office hours)
EMAIL: pei.wang@temple.edu
Office Hours: Thursday 3:30 - 5:00 pm, and over Zoom by appointment

Times and location

Lecture: Tuesday/Thursday 2:00 - 3:20 pm, Tuttleman 303AB
Lab: Wednesday 3:00 - 4:50 pm, SERC 204

Description

An Honors version of CIS 1068, this course provides an introduction to problem solving and programming in Java, software engineering, procedural and data abstraction, and object-oriented programming, including class hierarchies, inheritance and interfaces. Data types covered include primitive data types, strings, classes, arrays, vectors, and streams. Programming techniques include at least techniques for searching and sorting an array. In addition to the standard materials for 1068, this course will look more deeply into the underlying representations of numeric data types, it will consider some more advanced language topics including a more detailed look at polymorphism, and it may consider additional techniques such as linked data structures and recursion. Expect the usual boundary between lab and lecture to be somewhat blurred as we look at design and implementation in both places, often in the context of small group activities. The course will end with small group programming projects of modest complexity chosen jointly by the students and instructor based on their areas of interest. These could include elements of graphics, robotics, applied mathematics, engineering, or projects from other disciplines.

Prerequisites

( Course or Test: Computer & Information Science 1051 Minimum Grade of C- May not be taken concurrently. ) or ( Course or Test: Computer & Information Science 1057 Minimum Grade of C- May not be taken concurrently. ) or ( Course or Test: Computer & Information Science 1951 Minimum Grade of C- May not be taken concurrently. ) and ( Course or Test: Mathematics 1041 Minimum Grade of C May be taken concurrently. MATH 1041&1042 transfer waiver Y May not be taken concurrently. MATH1041 - CR Grade Y May not be taken concurrently. MATH1941 - CR Grade Y May not be taken concurrently. ) or ( Course or Test: Mathematics 1941 Minimum Grade of C May be taken concurrently. ) or ( Course or Test: Mathematics 1038 Minimum Grade of C May be taken concurrently. ) or ( Course or Test: Mathematics 1042 Minimum Grade of C- May be taken concurrently. ) or ( Course or Test: Mathematics 1044 Minimum Grade of C- May be taken concurrently. ) or ( Course or Test: Mathematics 1942 Minimum Grade of C- May be taken concurrently. ) or ( Course or Test: Mathematics 1951 Minimum Grade of C- May be taken concurrently. ) or ( Course or Test: Mathematics 2043 to 3080 Required Courses: 1 Minimum Grade of D May be taken concurrently. MA06, C or above in MATH 1041 Y May not be taken concurrently. )

Textbook (required)

Building Java Programs: A Back to Basics Approach, 5/E, Stuart Reges and Marty Stepp, Pearson 2020, ISBN-13: 978-0-13-547194-4

Schedule

See course webpage

Grading

Policies and Rules