Course Syllabus
Welcome to CS 1400: Introduction to Computer Programming! In this course, you will learn how to write computer programs using Python. By the end of this course, you will be able to start with a problem statement and then design, implement, document, and test a Python program that solves the problem. Along the way you will learn how to think like a computer scientist and you will learn a number of key ideas from computer science.
Course Information
|
Instructor |
Habtamu Minassie Aycheh, PhD Department of Electrical and Computer Engineering Email: habtamu.aycheh@utah.edu Office: U759 |
|
Class meetings |
Tuesday and Thursday 9:00 - 10:20am in room U303 |
|
LAB Session |
Wednesday 10:30 - 11:20am in room U507 |
|
Office hours |
Tuesday 10:30am ~ 11:30am or By Appointment |
|
Important Dates |
Midterm is Thursday, October 16,2025 during the class meeting Final Exam is Thursday Dec 11, 2025 8:00am – 10:00 am, Room U303
|
Learning Objectives
CS1400 introduces the engineering and mathematical skills required to effectively program computers, as well as the range of issues confronted by computer scientists. A major theme of the course is the role of procedural and data abstraction in decomposing programs into manageable pieces. Students will complete extensive programming exercises that involve the application of elementary software engineering techniques.
In this course, you will learn how to:
- Use variables, assignment, selection, and repetition to form solutions to simple problems
- Exploit procedural abstraction (non-recursive and recursive methods) to decompose a program into manageable pieces
- Employ data collections and their algorithms to solve problems, especially canonical loop patterns to process arrays and lists
- Incorporate an understanding of creating and using object types, as well as their scope and life cycle, into solutions
- Utilize binary representations, memory models (references, heap, stack), and persistent storage (files) in solving problems
- Leverage the features of an Integrated Development Environment to design, implement, test, debug, and document a complete computer program, given only a problem statement
This course has a co-requisite of MATH 1050, 1060 or 1080. This means you should be taking or have completed up to this level in math
Course Website
The class website is the Canvas course available through CIS. It will be updated throughout the semester with the class schedule, lecture notes, laboratory exercises, assignment specifications, and much more. Please regularly look at the course weekly modules for new materials.
Textbook:
- Interactive textbook: How to Think Like a Computer Scientist
Lab Sessions
Lab sections provide an opportunity for students to apply concepts from lecture and readings in guided activities. The lab session is a place for you to see if you can translate the material learned in lecture to small programming exercises while getting feedback from your peers and course TAs. Lab attendance is required.
STUDENT EVALUATION
Programming Assignments
The instructions for each assignment and its due date will be posted on the class website roughly one week before it must be submitted. Assignments are submitted online via the submission tool located beneath the instructions for each assignment. It is the student’s responsibility to ensure the successful and timely submission of each programming assignment — start early and follow the instructions carefully. Corrupted or missing files will not be grounds for extensions. Double-check your submissions, and save a digital copy of all of your work. Many assignments will be submitted through the Gradescope system, which provides some basic checking and testing. Students should review the results of this testing and use it to make sure the assignment is submitted properly and working.
Lab Activity : Every Thursday, students complete a lab exercise reviewing the material covered recently in lecture or preparing for an upcoming assignment. Often, a Canvas quiz accompanies the lab exercise and is completed for credit. No lab exercise may be made up for credit, except in the case of a documented emergency. One lab score will be automatically dropped to allow for issues you may have in attending the labs.
Exams
Tests will consist of midterm and a final exam all given in-person in the lecture hall. No test may be taken at a different time for any reason other than a documented medical emergency or official University of Utah excused activities.
Final Course Grade
The final course grade is based on:
- Class participation and Lab Activity 10%
- Quizzes 10%
- Programming Assignments 20%
- Mid Test 30%
- Final Exam 30%
Letter Grades
Your weighted, cumulative course percentage score is turned into letter grades using the following scheme:
|
|
|
|
|
where, X represents cumulative score.
Course Guidelines
Late Assignments
There is a one-day grace period for late assignments. Assignments turned in after 24 hours will receive a 10% deduction in the grade. No assignments will be accepted more than 48 hours late, at which point a 0% will be assigned. Longer term issues should be discussed with the instructor.
Regrades
Students desiring to appeal a score on an assignment, lab exercise, quiz, test, or final exam must request no later than one week after the score is published. We reserve the right to regrade the entire assignment when a regrade request is made.
Dropped Scores
Students may end up missing a deadline or a lab session for a reason that is not granted an exception (generally, documented medical reasons or official University activities). Therefore, to allow for such an occurrence, the lowest score earned on assignments will be dropped from the record of each student at the end of the semester. These dropped score is automatically applied. No mid or final exam scores are dropped.
University Policies
- The Americans with Disabilities Act. The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities. If you will need accommodations in this class, reasonable prior notice needs to be given to the Center for Disability & Access, https://disability.utah.edu/, +1 -801-581-5020. CDS will work with you and the instructor to make arrangements for accommodations. All written information in this course can be made available in an alternative format with prior notification to the Center for Disability & Access.
Given the nature of this course, attendance is required and adjustments will only be permitted as required by Policy 6-100(III)(O). If you need to seek an ADA accommodation to request an exception to this attendance policy due to a disability, please contact the Center for Disability and Access (CDA). CDA will work with us to determine what, if any, ADA accommodations are reasonable and appropriate.
In compliance with ADA requirements, some students may need to record course content. Any recordings of course content are for personal use only, should not be shared, and should not be made publicly available. In addition, recordings should be destroyed at the conclusion of the course.
- University Safety Statement. The University of Utah values the safety of all campus community members. To report suspicious activity, call the Asia Campus Dean of Students Office at 032-626-6014 or the Asia Campus Emergency Contact at 010-8519-6008. You will receive important emergency alerts and safety messages regarding campus safety via text message. For more information regarding safety and to view available training resources, including helpful videos, visit https://safeu.utah.edu
- Addressing Sexual Misconduct. Title IX makes it clear that violence and harassment based on sex and gender (which Includes sexual orientation and gender identity/expression) is a civil rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status or genetic information. If you or someone you know has been harassed or assaulted, you are encouraged to report it to the Title IX Coordinator in the Office of Equal Opportunity and Affirmative Action, 383 South University Street, +1-801-581-8365, or the Asia Campus Office of the Dean of Students, 611 Utah Building, 032-626-6014 or the Asia Campus Emergency Contact at 010-8519-6008. For support and confidential consultation, contact the Mental Health Counseling Center, 3051-3052 MCB, 032-626-5142 or 032-626-5142.
- Academic Misconduct Statement. It is expected that students adhere to University of Utah policies regarding academic honesty, including but not limited to refraining from cheating, plagiarizing, misrepresenting one's work, and/or inappropriately collaborating. This includes the use of generative artificial intelligence (AI) tools without citation, documentation, or authorization. Students are expected to adhere to the prescribed professional and ethical standards of the profession/discipline for which they are preparing. Any student who engages in academic dishonesty or who violates the professional and ethical standards for their profession/discipline may be subject to academic sanctions as per the University of Utah’s Student Code: https://regulations.utah.edu/academics/6-410.php
- Language Policy. The University of Utah Asia campus is committed to providing and fostering an environment that is safe and free from prohibited discrimination. The following language policy applies to all academic and administrative units of the University and all members of the University community, including faculty, staff, and students. English is recognized as the official language of instruction, assessment, and curriculum. Except for language classes, where the target language will dominate, per best practices of language pedagogy. In addition, English is the official language for all university administrative and business-related matters.