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
Course Description
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.
Assignments/Assessments
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.