CSCI 161 - Introduction To Programming 1
CSCI 161 - Fall 2023 - Thomas Rogers
Labs (OTB 130) and sometimes lectures (Roddy 136) on Mondays, 6pm to 7:50 pm
Lectures on Wednesdays (Roddy 136), 6pm to 7:50 pm

Instructor:
•  Thomas Rogers - thomas.rogers@millersville.edu
•   Office: Roddy 139      
•   Office Hours: Mondays and Wednesday 8pm to 9pm in R-139 and via Zoom as needed and scheduled.
•   Email: thomas.rogers@millersville.edu
•   Phone: 717-872-4235 (rarely checked)
•   Class Web Page: http://cs.millersville.edu/~trogers/csci161/

Prerequisites:
Placement in MATH 160 or higher.

Textbook (required):
Building Java Programs, 4th Edition. Stuart Reges and Marty Stepp, Pearson, 2016. ISBN-13 978-0134322766.

Goals: At the end of this course, a student will:

  1. be able to use a computer system to edit, compile, and execute a program.
  2. be able to design a solution to a given problem.
  3. be able to write a program to implement the solution.
  4. be able to use basic programming techniques including appropriate data types, conditional structures, looping structures, and expressions.
  5. be able to design and use methods with parameters and return values, and basic array structures.
  6. be able to use accepted style when writing a program.
  7. be able to properly test a program to ensure its correctness and robustness.

Grading:
Exam 1 = 25%
Exam 2 = 25%
Final Exam = 25%
Labs and additional assignments = 25%
I use a ten-point grading scale (93 = A; 90 = A-; 87 = B+; 83 = B; ...).
You must attempt all examinations and assignments to pass the course.

Academic Honesty:
Copying or any collaboration with anyone else on tests is not permitted and may result in failure in the course. Collaboration on labs and assignments is allowed but each student must submit to AutoLab a completely unique submission. If a studend copies someone elses lab or assignment in whole or part and during grading the grader sees similarities such as the same defects, same code structure, same non-obvious variable names between two or more student submissions, then all students involved will result in a failure for the lab or grade and possible failure for the course.

Refer to the university policy on academic honesty for details and penalties.

Tests:
Tests will be cumulative and will emphasize material we have covered in lecture and practiced in labs. There will be a closed book written portion as well as an online, open book portion for each exam. Both portions are to be completed without help from people other than me.

If you miss a test, you will receive a grade of zero for that test. Exceptions may be made at my discretion. In fairness to all, documentation will be required. Contact me immediately, preferably before the test, if you have a problem.

Labs and Assignments:
This class meets in the Linux Lab (STB-130) on Mondays unless otherwise noted via email or in class. Read through the lab assignment online before you come to lab as doing so will make the lab period much less stressful.

Lab assignments will not be accepted late. Labs must be delivered by the time and date specified for the assignment. Submit what you have for partial credit.

Lab and homework assignments will be turned in through Autolab according to the deadlines provided.

Special Needs:
Anyone with special needs should contact me as soon as possible.