CS152, Fall 2020
Computer Programming Fundamentals
Home
Schedule
Syllabus
Style Guidelines
Professor: Leah Buechley (buechley@unm.edu)
Course: CS 152
Lecture Time: Monday, Wednesday, Friday 10-10:50am
Location: https://unm.zoom.us/j/97494480749, password required
Leah's Student Drop in Hours (AKA Office Hours): Tuesdays 2-3pm and Wednesdays 11-12pm
Lab Sections
Grading
Assignments: 60%
Exams: 20%
Class participation and quizzes: 20%
Description and Learning Objectives
CS152 is an introduction to the art of computing. Computer Science is a fascinating, complex, beautiful, and critical field. Today, it plays an important role in nearly every other discipline, including healthcare, biology, journalism, architecture, and economics, just to name a few. After completing this course, you should be able to: 1) create programs in Java; 2) have a basic understanding of Computer Science as a field as well as its relationship to other disciplines; 3) and, most importantly, feel confident about playing and experimenting with code! This course will help you develop fundamental computational fluency. You will learn about conditionals, loops, functions, and basic data structures and get an introduction to different applicatons of computing. You will apply your skills to create programs that relate to your own interests and passions. These may include: data visualizations, video games, interactive art works, and scientific models.
CS152 is taught using the Java programming language. More specifically, this class will use the
Processing platform, a Java programming tool that makes it easy to build interactive programs and to generate and manipulate media including images, text, and sound. You will also learn how to install and work with other Java platforms.
Java is an Object Oriented Programming (OOP) language. While you will be working some with Objects, CS152 is not a course on OOP. Experienced Java programmers with solid skills should skip CS152 and take CS251 (Intermediate Programming). CS251 is also currently taught in Java and its primary emphasis is on understanding, developing and applying OOP skills.
Textbook and Other Resources
There is no textbook for the class. The following are some great resources that we'll be using in class. You do not have to buy any of the books unless you want to:
Student Drop-in Hours (AKA Office Hours)
My student drop-in hours are Tuesdays from 2-5pm in our zoom classroom. Use the same link and password you use for our class meetings. This is time when I will be available to answer questions you have, provide help with assignments, and generally be available to talk. If you cannot make it to my regularly scheduled drop-in hours, email me to set up a different time.
Class Logistics
Classes and labs will be held online in Zoom. The links and passwords are posted in
UNM Learn and sent via email. The links and passwords will not change over the course of the semester. You will use the same link and password for classes for the entire semester. You are expected to attend classes and labs during our regularly scheduled class hours. If you are not able to attend class during the regularly scheduled hours, please let me know as soon as possible. Lectures will be posted to learn at the end of each day for asynchronous viewing. You can usse these videos if you can't make it to a zoom class, or want to review material.
All assignments should be submitted via
UNM Learn. If you are new to UNM Learn, check out this
introduction to get started. If Learn is down,
you may e-mail the assignment to your lab instructor in order to prove it was done on time.
Always double-check your submissions to Learn. If you realize you accidentally attached
the wrong file, immediately resubmit the correct file with a note explaining the error.
TAs will accept submissions up to 15 minutes late to account for variations in clocks, network
hiccups, etc. You are permitted to submit multiple times and the most recent on-time
submission will be the one graded, so feel free to submit partial solutions as you work on assignments.
Coronavirus Info
This is a difficult and unusual time for all of us! I want to do everything I can to support you being successful in this class. Please let me know ASAP if anything relalated to the COVID-19 outbreak is impacting your ability to participate in the class. This could inlcude: you or a loved one getting sick, you or a loved one testing positive, losing a job, losing access to childcare, having to take care of a family member, having to work more to support your family, not having access to necessary technology, etc. I, along with the CS department and the university, will do everything I can to support and assist you.
Please don't disappear! If you need help or accommodation, please reach out.
You will need access to a computer as well as reliable internet access to participate successfully in this course. A chromebook is OK, but a regular computer is preferable. You should also have access to a device with a camera and microphone that will let you participate in Zoom sessions. A computer with a microphone and camera is ideal, but you can also use a smart phone that has these capabilities. You need to have access to the computer along with the microphone and camera during class and lab times. You will also spend a lot of time on the computer writing programs, getting support, and submitting assignments via Learn. You can currently purchase a decent laptop for about $300, ie:
this one. You can get free wireless internet on the UNM campus and also around the city of Albuquerque. See
this page for a listing of wifi access points around Albuquerque. If you need help finding a computer or getting reliable internet access, please email me as soon as possible. You should also get in touch with UNM IT ASAP for assistance. You can find information, including on their laptop loan program here:
http://at.unm.edu/coronavirus/student-tech-access.html.
Working Together
Working together and helping one another on programming projects is
highly encouraged. Computer science is a collaborative discipline and your classmates can be an excellent source of
help and support. You are encouraged to use the internet to solve programming challenges and find
inspiring examples. This is what professional programmers do! You also need to write your own code for each assignment. You should understand and be able to clearly describe what each line of code in your programs is doing.
Academic Integrity
Academic Dishonesty (also known as cheating or plagiarism) occurs when someone - knowingly or unknowingly - presents the words, ideas, or code of another person as his or her own. Any work turned in for this class must meet UNM's standards for academic integrity or academic honesty (
https://policy.unm.edu/regents-policies/section-4/4-8.html). Students often copy code when they are particularly stressed about an assignment, or are running out of time; sometimes they just don't understand an assignment or are stuck on a particular concept or line of code. If you find yourself in any of these situations, please email me or one of the TAs as soon as you can to request help.
Cheating includes:
- Copying code from another person or having someone else write your code.
- Allowing another person to copy your code or writing code for someone else.
- Copying code from the Internet or another source.
(If there's some code that you
would like to use, please check with me or one of the TAs before you do this. Any code that you do use must be clearly cited.)
Late Assignments
Ideally, all assignments will be completed and submitted before the deadline. However,
I am well aware that sometimes this will not be possible due to COVID-19 craziness, other illness, technical problems,
other classes, etc. For that reason, you're given a pool of ten extension days you
can use during the semester, limited to at most three days for any single assignment.
- Extension days may not be used for online quizzes or surveys, since they generally will
be discussed in the next lecture.
- You may use a maximum of three extension days for a given assignment. I want to be
able to discuss the solution to an assignment within a reasonable amount of time after
the deadline.
- You have a total of ten extension days over the course of the semester. It is up to you
if you want to turn in three assignments three days late, five assignments two days
late, every assignment one day late, or some other variation. You do not have to use
them at all.
- Weekends count as days, too, so if an assignment is due on Friday and you don't turn
it in until Monday, that would use 3 extension days.
- Use your extension days wisely. If you use all of them on assignments early
in the term, you won't have any left to spend on a difficult assignment later
on.
Computer Science Advisement
Whether or not you have been officially admitted to the CS program yet, please consult
the Department of Computer Science Undergraduate Advisor (csinfo@cs.unm.edu) with any questions you may
have. This is especially important when navigating the prerequisites for certain courses and
resolving scheduling issues. More general university advisors are not always familiar with
the details of the computer science program.
Accessibility
Please contact the
Accessibility Resource Center if you expect to need academic accommodations for this class. The ARC is there to help you. If you have a condition where, for example, you need extra time or a quiet place for exams, I strongly recommend that you take advantage of their services.
In accordance with University Policy 2310 and the Americans with Disabilities Act (ADA), academic accommodations may be made for any student who notifies the instructor of the need for an accommodation. It is imperative that you take the initiative to bring such needs to the instructor's attention, as I am not legally permitted to inquire. Students who may require assistance in emergency evacuations should contact the instructor as to the most appropriate procedures to follow. Contact Accessibility Resource Center at 277-3506 or
arc.unm.edu for additional information.
If you need an accommodation based on how course requirements interact with the impact of a disability, you should contact me to arrange an appointment as soon as possible. At the appointment, we can discuss the course format and requirements, anticipate the need for adjustments and explore potential accommodations. I rely on the Disability Services Office for assistance in developing strategies and verifying accommodation needs. If you have not previously contacted them I encourage you to do so.
Title IX
Title IX prohibitions on sex discrimination include various forms of sexual misconduct, such as sexual assault, rape, sexual harassment, domestic and dating violence, and stalking. Current UNM policy designates instructors as required reporters, which means that if instructors are notified (outside of classroom activities) about any Title IX violations, they must report this information to the Title IX coordinator. However, the American Association of University Professors' (AAUP) "Statement on Professional Ethics" requires that Professors protect students' academic freedom and "respect[s] the confidential nature of the relationship between professor and student." Therefore, as a Professor I have pledged to honor student confidentiality and will strive to respect your wishes regarding reporting. If you or someone you know has been harassed or assaulted and would like to receive support and academic advocacy, there are numerous confidential routes available to you. For example, you can contact the Women's Resource Center, the LGBTQ Resource Center, Student Health and Counseling (SHAC), or LoboRESPECT. LoboRESPECT can be contacted on their 24-hour crisis line, (505) 277-2911 and online at loborespect@unm.edu. You can receive non-confidential support and learn more about Title IX through the Title IX Coordinator at (505) 277-5251 and http://oeo.unm.edu/title-ix/. Reports to law enforcement can be made to UNM Police Department at (505) 277-2241.
Credit Hour Statement
Federal Credit Hour Definition: A credit hour is an amount of work represented in intended learning outcomes and verified by evidence of student achievement that is an institutionally-established equivalency that reasonably approximates not less than:
(1) one hour of classroom or direct faculty instruction and a minimum of two hours of out-of-class student work each week for approximately fifteen weeks for one semester or trimester hour of credit, or ten to twelve weeks for one quarter hour of credit, or the equivalent amount of work over a different amount of time; or (2) at least an equivalent amount of work as required in paragraph (1) of this definition for other activities as established by an institution, including laboratory work, internships, practica, studio work, and other academic work leading toward to the award of credit hours.