Introduction to Programming and Problem-Solving is a course that introduces fundamental programming concepts and methodologies. Commonly referred to as CIS 118, it utilizes pseudocode and the Python programming language to teach students how to solve problems through computational thinking techniques. While CIS 118 aims to provide students with practical skills in coding, one of the key focuses is on developing strategies for solving problems through logical decomposition and algorithmic design. Simply having Python code completed for a student does not help further these important learning goals. Here is an overview of CIS 118 and why doing one’s own homework is essential for gaining the most benefit from this course.
What is CIS 118?
CIS 118 is a course that introduces core programming concepts and techniques for algorithmic problem-solving to students who have little to no prior experience in computing. It utilizes Python, a high-level programming language, due to its ease of use and readability. The main objectives are not mastery of Python syntax but rather computational thinking practices. Students learn how to systematically approach and break down complex problems into step-by-step solutions. They practice expressing the logic of algorithms in pseudocode using basic flow controls and data types before implementing these designs in Python. Some key topics covered include variables, conditionals, repetition structures, functions, parameter passing, and fundamental data structures like lists.
Doing Homework in CIS 118
Students in CIS 118 are given regular homework assignments to apply the concepts from lectures through programming practice problems. These might include tasks like calculating simple math expressions, searching and sorting lists of data, or modeling real-world scenarios in code. The process of working through homework reinforces the material in several important ways:
Problem Decomposition: Students must analyze assigned problems, identifying the key steps and information needed to solve them algorithmically. This trains computational thinking abilities.
Algorithm Design: Pseudocode is used to plan out the logic of programs before writing any actual code. This develops skills in translating problems into computational solutions.
Implementation: Turning pseudocode algorithms into working Python programs improves coding practice and troubleshooting abilities. It also deepens understanding of syntax and language mechanics.
Debugging: Inevitably, mistakes will occur in student code that does not run correctly. Finding and fixing issues cultivates debugging skills.
Self-Learning: Figuring problems out independently, with instructor guidance as needed, promotes independent study habits vital for academic success.
Time Management: Learning to properly budget time for regular assignments encourages effective work scheduling.
Knowledge Assessment: Completing one’s own work allows honest self-evaluation of current understanding before moving forward.
Why Students Should Do Their Own Homework
While it may be tempting to have someone else complete CIS 118 homework tasks, doing so seriously undermines the learning goals of the course and deprives students of important benefits:
Missed Practice: Programming skills are like any other – they require consistent hands-on application to strengthen. Others’ work provides no practice.
Superficial Knowledge: Truly understanding concepts arises from personal problem-solving, not superficial recognition from seeing answers. Real comprehension is missing without independent work.
Inability to Apply: The ability to analyze new, unfamiliar problems and apply learned approaches is hampered without experience solving a variety of assignment types independently.
False Confidence: Students may believe they understand more than they truly do when relying on outside help. This sets them up for difficulty when difficulty increases in later courses.
Academic Integrity: Allowing others to do work violates standards of honest scholarship. Aside from integrity issues, instructors can usually recognize atypical work that is not a student’s own.
Poor Grades: Work not done independently will likely not properly address all aspects of problems assigned and result in lower scores, impacting GPAs and future opportunities.
future Difficulty: Put simply, if a student has not put in the effort to learn through their own problem-solving, they will struggle significantly in more advanced technical courses down the line that build on intro concepts. Their knowledge gap will hamper continued learning.
For all of these reasons, it is strongly advised that CIS 118 students completely do their own assigned work. Instructors are available for assistance when challenges are encountered, but the process of independent work is essential for both learning the material properly and building long-term computational thinking and programing skills that are the key takeaways of this course. With regular personal effort, students will gain far more from CIS 118 than they ever could through relying on outside help to complete homework tasks.
Conclusion
CIS 118: Introduction to Programming and Problem-Solving aims to equip students with foundational programming concepts and algorithmic problem-solving techniques through Python coding practice and exercises. While the course objectives involve learning a new technical skill, an even more important focus is developing computational thinking methods applicable across technical domains. Regular homework is assigned not just to assess student comprehension but more significantly to provide iterative practice implementing and refining these vital problem-solving abilities. Simply having someone else do CIS 118 homework provides none of the deeper learning or skill-building benefits. Students are strongly advised to independently complete all assigned work to maximize what they gain from this entry-level yet exceptionally important course.
