CSIS 2610L - Programming and Problem-Solving Lab
Fall 2026 Syllabus, Section 05, CRN 42703,
Credit hours: 1
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
| Day | Date | Proposed Topic | Due/To Prepare for Class |
|---|---|---|---|
| Fri | 8/28 | Coding environment, Linux shell basics, compiling with gcc | |
| Fri | 9/4 | Basic I/O, variables and assignment, data types, type casting and conversion, arithmetic operators and expressions, operator precedence, console I/O, formatting output | |
| Fri | 9/11 | Boolean logic, variable comparison, conditional statements and relational operators | |
| Fri | 9/18 | Testing programs with branches, nested control statements | |
| Fri | 9/25 | Math libraries, randomness, counter loops, testing programs with loops | |
| Fri | 10/2 | Algorithm design and program development, nested loops, input validation | |
| Fri | 10/9 | Defining & calling functions, Parameter passing (call-by-value), Returning values from functions, Variable scope | |
| Fri | 10/16 | Recursive functions, file I/O, parsing strings/tokenization, string type, string formatting and string member functions | Exam 1 Lab Fri 10/16 |
| Fri | 10/23 | Arrays, vectors, multidimensional arrays & vectors | |
| Fri | 10/30 | Searching & basic sorting, structs, arrays & vectors of structs | |
| Fri | 11/6 | Pointers, dynamic memory allocation, addressing, call-by-value vs. call-by-reference, using pointers in data structures/linked list | |
| Fri | 11/13 | Pointers to arrays, pointer arithmetic, passing pointers as function parameters | |
| Fri | 11/20 | Dereferencing pointers, pointers as return types | Exam 2 Lab Fri 11/20 |
| Fri | 11/27 | Introduction to OOP, constructors, destructors, public vs. private, getters and setters, this keyword | |
| Fri | 12/4 | Inheritance, polymorphism, virtual functions | |
| Fri | 12/11 | Final Exam Labs DUE 12/11 |
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.