CS152 Fall 2021, Syllabus

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, Lecture: Centennial Engineering Center, Room 1041
Location, Labs: Engineering & Science Computer Pod, Room 110
Note: this is building #2 on the UNM campus map
Leah's Student Drop in Hours (AKA Office Hours): Monday and Wednesday 10:50 - 12:00pm
Location: Leah's office, Farris Engineering Center, Room 2130


Grading
Assignments and quizzes: 60%
Exams: 20%
Class participation: 20%

Assignments will be due approximately every other week. These will be posted on the website schedule and on Learn. Quizzes will be announced and given during lecture. No makeup quizzes will be given. There are two exams, a midterm and a final exam. These are weighted equally. The class participation component of your grade is based on attendance in lecture and lab, lab assignments, participation in lecture, lab, and on Piazza, and general engagement in the class (ie: asking questions, coming to office hours, etc.). Note: to receive an A+ in the class, you must receive at least an A- on both the midterm and final exam.

Grading scale, based on your final average, is as follows:
over 100 A+
93-100 A
90-92.99 A-
87-89.99 B+
83-86.99 B
80-82.99 B-
77-79.99 C+
73-76.99 C
70-72.99 C-
67-69.99 D+
63-66.99 D
60-62.99 D-
Below 60 F


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. Note, we'll be programming in Java, but will be drawing inspiration from the Processing programming environment. 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 Mondays and Wednesdays after class. These will be held in my office, Farris Engineering Center, room 2130. 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
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.

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 (not a chromebook) as well as reliable internet access to participate successfully in this course. Ideally, you should also have access to a device with a camera and microphone that will let you participate in Zoom sessions if this becomes necessary. 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.