CSIS 2610 03: Programming Problem Solving

CSIS 2610 - Programming and Problem-Solving

Fall 2026 Syllabus, Section 03, CRN 42689,

Credit hours: 3

Course Meeting Times

Log in to view more

Instructor

James Dittrich

Email: jwdittrich@ysu.edu

Public Instructor Information

Instructor Title: Mr.
Instructor Professional Qualifications:

  • B.A.S., Computer Information Systems, Youngstown State University, 2004
  • M.S. Education (Curriculum & Improvement of Instruction), Youngstown State University, 2007
  • Master's of Computing and Information Systems, Youngstown State University, 2012

Instructor Office Location: Tod Hall 135 (University Relations)
Instructor Office Phone: (330) 941-1328

Private Instructor Information

Log in to view more

Course Description

2610. Programming and Problem-Solving. Problem solving methods and algorithms using a high-level programming language. Designing, coding, debugging, and documenting programs using techniques of good programming style. Credit will not be given for both CSIS 2610 and CSIS 1595 or CSIS 2605. Prereq.: MATH 1513 or Math Level 45. Coreq.: CSIS 2610L. 3 s.h.

Programming Course Sequence

CSIS 2610: Programming and Problem Solving covers the material in CSIS 1595 and 2605 in a single semester. If you do not have prior experience with programming (and the prerequisite of Math 1513 or Level 45 on the Math Placement Test), then you may consider registering for that course sequence instead. Note that credit will not be given for both CSIS 1595/2605 and CSIS 2610.

An alternative path is CSIS 1595: the first in a two-course sequence meant to give a comprehensive introduction to the design and implementation of computer programs, and taught using the Python language. The second course in the sequence, CSIS 2605: Fundamentals of Programming and Problem Solving 2 is taught using C++, builds on the material introduced in this course, and should be taken in the following semester if you plan on taking it.

Course Readings

Group Title Author ISBN
Required C++ Programming: From Problem Analysis to Program Design (8th ed.) D.S. Malik 978-1337102087
Optional The C++ Programming Language Stroustrup, Bjarne 978-0133522853

The above Required text is a YSU Bookstore Digital Rental valid for 180 days that is already included in your course fees and available through Blackboard.

Or if you prefer print options that you will own indefinitely (e.g., as a reference), there exists a printed 8th edition that may also be available (ISBN-13: 978-1337102087)

The Optional text is an excellent reference book if you ever need a C++ refresher or want to see working examples of the use of standard libraries, written by the designer of the language.

The course readings are subject to change in the event of extenuating circumstances, research developments, current events, and/or to ensure better learning.  

Additional Course Materials

Log in to view more

Course Learning Outcomes/Objectives/Goals

Log in to view more

How to Succeed in This Course

Log in to view more

Attendance Expectations

Log in to view more

Late Work Submission Policy

Log in to view more

Additional Course Expectations

Log in to view more

Artificial Intelligence Policy Statement

Log in to view more

Assignments/Assessments

Log in to view more

Grading and Grading Scale

Log in to view more

University Policies

Log in to view more

Schedule of Topics and Assignments

Week of Reading(s) Proposed Topic Due/To Prepare for Class
8/24 Ch. 1, 2 Review Syllabus, introduction to programming and labs, Linux shell basics, computer architure, binary/hexadecimal representation
8/31 Ch. 3 Basic I/O, variables and assignment, data types, type casting and conversion, arithmetic operators and expressions, operator precedence, console I/O, formatting output
9/7 Ch. 4 9/7: Labor Day - YSU CLOSED
Boolean logic, variable comparison, conditional statements and relational operators
9/14 Ch. 4 Testing programs with branches, nested control statements
9/21 Ch. 5 Math libraries, randomness, counter loops, testing programs with loops
9/28 Ch. 5 Algorithm design and program development, nested loops, input validation
10/5 Ch. 6 Defining & calling functions, Parameter passing (call-by-value), Returning values from functions, Variable scope
10/12 Ch. 6, 10 Recursive functions, file I/O, parsing strings/tokenization, string type, string formatting and string member functions Exam 1 Written Wed 10/14
Exam 1 Lab Fri 10/16
10/19 Ch. 7 Arrays, vectors, multidimensional arrays & vectors
10/26 Ch 8, 11 Searching & basic sorting, structs, arrays & vectors of structs
11/2 Ch. 9 Pointers, dynamic memory allocation, addressing, call-by-value vs. call-by-reference, using pointers in data structures/linked list
11/9 Ch. 9 Pointers to arrays, pointer arithmetic, passing pointers as function parameters
11/11: Veteran’s Day - YSU CLOSED
11/16 Ch. 9 Dereferencing pointers, pointers as return types Exam 2 Written Wed 11/18
Exam 2 Lab Fri 11/20
11/23 Ch. 13, 14 Introduction to OOP, constructors, destructors, public vs. private, getters and setters, this keyword
11/25: Fall Break (YSU OPEN, no classes)
11/30 Ch. 15 Inheritance, polymorphism, virtual functions
12/7 Final Exam (Comprehensive) Mon 12/7 1300-1500 (1pm-3pm)

The course schedule, policies, procedures, and assignments in this course are subject to change in the event of extenuating circumstances, by mutual agreement, and/or to ensure better learning. 

Additional Information

Log in to view more