COMP 1900 CS 1: Introduction To Programming - Spring 2023: Kriangsiri ("Top") Malasri Instructor Contact Information
COMP 1900 CS 1: Introduction To Programming - Spring 2023: Kriangsiri ("Top") Malasri Instructor Contact Information
COMP 1900 CS 1: Introduction To Programming - Spring 2023: Kriangsiri ("Top") Malasri Instructor Contact Information
Office Hours
No formal hours, but feel free to contact me to schedule an appointment! I also encourage you to ask questions in the
#comp-1900 channel on Discord, as that can be beneficial for other students. However, do not post full programs there! Post
only the parts that are giving you trouble.
Catalog Description:
COMP 1900 – CS 1: Introduction to Programming (4) Overview of computer science as a field; problem-solving strategies with
emphasis in fundamental programming skills, primitive data types, control structures, arrays, strings, I/O, basic recursion,
documentation, testing and debugging techniques; introduction to object-oriented concepts. Three lecture hours, two laboratory hours
per week. PREREQUISITE or COREQUISITE: MATH 1910 or MATH 1421 (or MATH 1830 for COMP minors)
Note on Prerequisites:
Although COMP 1900 does not assume you have any prior programming experience, it moves quite briskly. If programming is brand
new for you, you’ll likely find it more difficult to keep up. We recommend COMP 1800 (Problem Solving with Computers) as a warm-
up course for COMP 1900 if you are just starting out with programming.
Course Outcomes:
After completing this course, students should be able to:
1. Read and write code involving variables and assignments.
2. Read and write code involving conditionals.
3. Read and write code involving loops.
4. Read and write code to manipulate strings, lists, and dictionaries.
5. Read and write code to manipulate one- and two-dimensional lists.
6. Write programs to define functions and make function calls with various input and output types.
7. Be able to decompose code into sections using functions.
8. Be able to define simple classes.
9. Be able to create objects and invoke method calls.
Course Website:
Course materials and grades will be posted to the Canvas system at https://memphis.instructure.com/
Required Text:
Online text through zyBooks. A subscription costs $77 and will last until June 2, 2023. Please sign up at https://learn.zybooks.com and
use the registration code MEMPHISCOMP1900Spring2023. Some notes:
Evaluation:
Your final grade is determined by (your total points on all graded items) / 1000. Note that because there are 1050 maximum possible
points, this gives you 50 points of built-in buffer in case your second cousin’s ex-wife’s brother-in-law has an event that forces you to
miss an assignment, or a temporary zombie apocalypse happens to just your neighborhood, or whatever. This also means I’ll be strict
about enforcing assignment deadlines. Please don’t beg for late credit.
Note that you receive a single combined grade for COMP 1900; there’s no separate grade for the lab section unlike some science courses.
Grading Scale: Letter grades will be determined from your total points as follows:
A+: 960+; A: 900-959; A-: 890-899
B+: 870-889; B: 800-869; B-: 790-799
C+: 770-789; C: 700-769; C-: 690-699
D+: 670-689; D: 600-669
F: Below 600
Assignments:
This is a programming course, and the only way to get better at programming is to do a lot of it. There will be many assignments
throughout the semester to give you hands-on practice. Altogether, assignments make up almost half your grade for this course. You
cannot pass unless you do them!
1. Classwork consists of simple problems to immediately reinforce what was covered during lecture. Attendance is also indirectly
taken through classwork submissions. We will do at least one classwork assignment almost every lecture.
2. zyBook assignments are reading activities selected from the required textbook. These are done on your own, to further
reinforce what was covered during lecture. There will be a zyBook assignment given most weeks (posted on Canvas). You
should complete all Participation and Challenge activities from the assigned sections.
3. Lab assignments allow you to explore a topic more deeply and are more involved than the classwork and zyBook assignments.
More About the Labs:
Time Expectations:
Programming definitely has a learning curve, and many people find this to be a demanding class. Most students should expect to spend
2-3 hours per week outside of class per hour of credit. Since this is a 4-hour class, that translates to 8-12 hours per week of work outside
of class. If you are unable or unwilling to devote this time, I strongly recommend that you postpone taking the course until you can.
There is no substitute for hands-on experience to improve your programming skills!
Attendance:
It is crucial that you attend class (both lecture and lab) regularly, especially if this is your first experience with computer programming.
The class will keep building on itself and moves at a brisk pace, so you need to get a good handle on each concept soon after we discuss
it. As mentioned above, I will indirectly take attendance via classwork submissions.
Late/Makeup Policy:
All assignments are expected to be completed and turned in on schedule. Due dates will be clearly indicated for each assignment. Late
assignments are NOT accepted except in extreme circumstances. Likewise, makeup quizzes and exams will be given only under extreme
circumstances. If you feel that your circumstances warrant a late work submission or a makeup quiz/exam, get in touch with me as soon
as possible. Be prepared to show some kind of documented proof of your situation.
Plagiarism/Cheating Policy:
By the end of this course, you are expected to be a competent programmer. This is important for success in future courses, and more
importantly so that you can get a job later! To improve your programming skills, you must get plenty of practice yourself. As such, all
grade items (unless specifically indicated otherwise) must be individual efforts. Although you are welcome to work in study groups,
NEVER submit any code that you did not write yourself.
• Discussing the general solution approach to an assignment with other students, then writing the code to solve the problem
individually
• Using Internet resources to help with an assignment, then writing your own code that incorporates what you’ve learned
• Submitting the same code as another student. Making trivial changes like changing variable names and/or order of functions
does not hide this.
• Copying and pasting code that you found from the Internet (including AI tools like ChatGPT)
• Copying someone else’s code during a quiz or exam
I have a zero-tolerance policy against cheating. Plagiarized code is very obvious. If I catch you submitting code that you did not write
yourself, the first offense will result in a 0 for that grade item. Further offenses will possibly result in a failing grade in the entire course,
and/or referral to the Office of Student Accountability for further disciplinary action. Please don’t put me (or yourself) in this situation.
Getting Help:
Although I expect your work for this class to be done individually, I encourage you to seek help if you get stuck:
• Contact me! I’m very willing to provide hints without giving away the solution. I can be reached via email and/or Discord.
• Contact your lab TA. They are there to help you during lab sessions.
• Online tutoring: The UofM offers free online tutoring through the Educational Support Program (ESP):
https://www.memphis.edu/esp/onlinetutoring.php
Miscellaneous Policies:
Email - Please check your University of Memphis email account at least once a day, as that is my primary means of communicating
with you outside of class.
Student Disabilities - If you have a disability that may require assistance or accommodations, or if you have any questions related to any
accommodation for testing, note taking, reading, etc., please contact me as soon as possible. You must contact the Disability Resources
for Students office (901.678.2880, drs@memphis.edu, https://www.memphis.edu/drs/) to officially request such accommodations /
services.
Tentative Course Schedule (1900-003, TR)