A PDF copy of the syllabus is available here
Name: William J. Tolley
Office: 1000C in the Center for Advanced Research Computing
Office Hours: MTWR 2:00 - 3:00 (or email to schedule a different time)
Recommended Textbook: Java, A Beginner’s Guide, 6th Edition, Herbert Schildt
The bookstore will have the most recent (6th) edition available. However, if you would prefer to use the 5th edition that will also work just fine. The concepts we will be learning in this course have not changed since then.
CS 152 is an introduction to the art of computing. This course has several goals. Students who successfully complete the course should have a firm grasp on creating small programs in Java, should be able to solve problems with code, should have a better understand of what Computer Science as a field is, and most importantly not be afraid to dive into code!
The primary emphasis of this course is to develop fluency in working with conditional control flow, looping structures, and procedural programming techniques. The secondary emphasis is to apply those skills in solving computational problems.
CS 152 is a project based course: students spend many hours writing programs that have a wide range of applications. In past semesters these have included business applications, multimedia manipulations, video games, simulations of complex systems, and scientific models.
CS 152 is currently taught using the Java programming language.
While Java is an Object Oriented Programming (OOP) language and while students in CS 152 will certainly be working with objects, CS 152 is not a course on OOP. Experienced Java programmers with solid skills in control flow, procedural programming and computational problem solving should skip CS 152 and take CS 251 (Intermediate Programming). CS 251 is also currently taught in Java and its primary emphasis is on understanding, developing and applying OOP skills.
||Review and Midterm
||Objects and classes
||Graphics and GUIs
||Computational problem solving
||Review and Final Exam
Attendance in the class is mandatory, but I will not be taking roll on a daily basis. There will be several short quizzes given in class, however, and these cannot be made up, and I won’t be willing to spend my office hours to explain things you have missed from class. If I notice that you have missed several days and are unresponsive to emails, you may also be dropped from the course.
Working together and helping one another on all projects (but not on exams and quizzes) is highly encouraged. This includes discussion of project specification, algorithms, data structures, and test cases. It does not include code. Each person must author his or her own code.
Plagiarism, Cheating, and Computer Use
All university policies regarding plagiarism, cheating, and computer use will be strictly enforced. Typically I’ll give the cheating parties an F in the class, but I may pursue further action in some cases.
If you copy and paste any material (English text, figures, etc.) from any source you must clearly delineate it and attribute it properly to its source. Representing the work and materials of others as your own will not be tolerated in this class. Anything that is a full sentence or more that was not written originally by you has to be in quotes or indented in italics with a reference to clearly indicate where the material came from. Even if it was an accident, any kind of plagiarism in this class will result in an F in the class and possibly further actions pursuant to UNM policy.
Here are a few examples of things that will not be tolerated in the class:
Copying code from another person or having someone else write your code.
Copying code from the Internet or another source. (If there’s some code that you would really, really like to use, please check with me before you do it.)
Attempting to disassemble, decompile, or otherwise reverse engineer compiled example programs.
Allowing another person to copy your code.
Leaving your code (paper or electronic copies) where others can find it. You are responsible for the security of your intellectual property.
Use of external libraries other than those included with Java without documenting it. Note: If you do document usages of external libraries, it will not be considered cheating. However, you still might not receive full marks if the library covers too much of the assignment. It is best to check with the instructor before using an external library.
Violation of copyright or license agreements on external libraries. If you use external library code, it is your responsibility to understand and comply with the appropriate copyright and license issues.
Violation of the University policy on acceptable computer use.
50% Programming Assignments (labs and projects)
30% Exams (midterm and final)
10% Attendance and participation
Grades of “Incomplete” or “Withdrawal”, changes in grade mode, or any other special accommodations will only be considered in cases where circumstances arose that were outside the control of the student (such as a death in the family, medical issues, etc.). Losing a scholarship or visa status because of a low grade is a very serious issue, but it’s up to you to do well in the classes you register for to make sure that doesn’t happen, not up to the instructors of the classes you take.
All assignments must be in UNM Learn in order to receive credit for them. If Learn is down, you may e-mail the assignment to me in order to prove it was done on time. However, it must be inside Learn before you can receive credit for it.
It is your responsibility to make sure the correct file is submitted to Learn before the deadline. Always double-check your submissions. If you realize you accidentally attached the wrong file, immediately resubmit the correct file with a note explaining the error.
Assignments are due at midnight, but I will accept them without penalty until 9:00 am. You are permitted to submit multiple times and the most recent submission will be the one graded, so feel free to submit partial solutions as you complete milestones.
Pay attention to deadlines! Assignments are not always due on the same day of the week. You will generally have a week for each one, but some larger assignments may require more time.
Americans with Disabilities Act Policy Statement
The Americans with Disabilities Act (ADA) is a federal antidiscrimination statute that provides comprehensive civil rights protection for persons with disabilities. Among other things, this legislation requires that all students with disabilities be guaranteed a learning environment that provides for reasonable accommodation of their disabilities. If you believe you have a disability requiring an accommodation, please contact the Accessibility Resource Center: http://arc.unm.edu/
Title IX Sexual Harassment Policy Statement
No form of discrimination, sexual harassment, or sexual misconduct will be tolerated in this class or at UNM in general. I strongly encourage you to report any problems you have in this regard to the appropriate person at UNM. As described below, I must report any such incidents of to the university when I become aware of them. UNM also has confidential counselors available through UNM Student Health and Counseling (SHAC), UNM Counseling and Referral Services (CARS), and UNM LoboRespect.
In an effort to meet obligations under Title IX, UNM Faculty, Teaching Assistants, and Graduate Assistants are considered “responsible employees” by the Department of Education (see pg 15 – http://www2.ed.gov/about/offices/list/ocr/docs/qa-201404-title-ix.pdf). This designation requires that any report of gender discrimination which includes sexual harassment, sexual misconduct and sexual violence made to a faculty member, TA, or GA must be reported to the Title IX Coordinator at the Office of Equal Opportunity (http://oeo.unm.edu). For more information on the campus policy regarding sexual misconduct, see: https://policy.unm.edu/university-policies/2000/2740.html
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 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.
Computer Science Department Website
I host some course files on the CS department servers. Sometimes I may make a typo in a link or set the access permissions on a file incorrectly so that it cannot be reached. In those cases, let me know and I’ll fix it. It is also possible that the entire CS department website (http://cs.unm.edu) is unreachable for some reason. If that happens, I suggest you email the CS support team directly (email:firstname.lastname@example.org), since that will be faster than emailing me and waiting for me to see the message and email support myself. (Unfortunately, it is a bit hard to find the CS support email when the CS site is down, which is why I included here.)