CSE 174 - Fundaments of Programming and Problem Solving
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
Welcome to CSE 174 - Fundaments of Programming and Problem Solving
Here are the course description and objectives:
From the Miami University Catalog: Algorithm development and refinement in problem solving.
Modular programming using sequence, selection, and repetition control structures. Program debugging and testing. Formatted input/output. Data files. Fundamental data types. User-defined data types:
structured and enumerated. Arrays and arrays of structures. Simple sorting and searching algorithms.
Character data and string processing. Algorithm efficiency considerations. Classes, objects, and introduction to object-oriented programming.
Prerequisites: ACT Math score of 22 or higher, or SAT Math score of 520 or higher, or score of at least 8 on the Miami International Math Placement Test.
Prerequisite or Co-requisite: MTH 104 or MTH 123 or MTH 125 or MTH 151 or MTH 249 or MTH 251.
Learning Outcomes
U se and describe a contemporary programming language and programming environment. 1.1: Describe the process of program translation from source code to intermediate or executable representation
1.2: Describe the concepts of syntax and semantics of a programming language
1.3: Describe and compare rules associated with declarations, including scope and lifetime, for program constructs such
as variables, functions, and methods
1.4: Describe the data representation commonly used for integers, floating point values, booleans, characters, and strings
1.5: Format and comment source code that adheres to a given set of formatting guidelines
1.6: Use command line tools to invoke the compiler and compiled executables
1.7: Use an Integrated Development Environment (IDE) to write computer programs
Identify and eliminate errors in programs
2.1: Describe the difference between a compiler error, run-time error, and logic error
2.2: Read errors reported by the compiler and use those error messages to correct the syntax
2.3: Use techniques and tools for debugging programs
2.4: Design and document a complete set of test cases and use this to identify logic errors
2.5: Read and analyze code written by others, and identify errors in that code
Specify, trace, and implement programs written in a contemporary programming language that Ive a stated problem in a clean and robust fashion
3.1:Select appropriate primitive data types to represent information
3.2: Trace and use the common arithmetic operators within expressions that use parentheses and operator precedence
3.3: Describe, trace, and implement programming control structures including pretest and posttest loops, counter-
controlled loops, and conditionals
3.4: Use control structures, nested and un-nested
3.5: Use console and file input and output in a program
3.6: Use one-dimensional and two-dimensional arrays
3.7: Use 3rd party class definitions, including those that represent strings, produce random numbers, perform math
functions, format strings, perform console input and output, and ArrayLists
Solve programming problems using a procedural approach
4.1: Create and implement an algorithmic approach to a problem using functional decomposition
4.2: Determine necessary/desirable functions along with their needed structure (parameters, return types, etc.)
Describe, trace, and implement basic algorithms
5.1: Describe, trace, and implement linear search, non-recursive binary search, and at least one non-recursive sorting algorithm
5.2: Use standard library routines for searching and sorting arrays
5.3: Compare algorithms with respect to their efficiency, elegance, and readability
Apply and communicate information that they read from technical sources such as APls.
6.1:Read, apply, and summarize computer programming resources including textbook, API documentation, and help forums
6.2: Select and use examples, counterexamples, code alternatives, test cases, and diagrams to explain computer programming concepts
Text
You are required to have the following text.
· Big Java, Late Objects (2e) by Cay Horstman
· All students have access to this book through the ZyBooks platform and are expected to complete course activities in the content on the ZyBooks platform.
· To access the book:
· Sign in or create an account at learn.zybooks.com/library .已
(https://learn.zybooks.com/library ) (you must use your Miami e-mail address when creating your account)
· Enter the zyBook code: MIAMIOHCSE174WoodsFall2023
· Subscribe.
· You will have access to the zyBook until Dec. 29, 2023 (note that you can download part of the book to PDF files)
· zyBooks Resources(https://miamioh.instructure.com/courses/196315/pages/zybooks-resources? wrap=1)
You can find additional books on Java using Miami's Safari Books 已
(https://www.lib.miamioh.edu/indexes/redirect/1381) subscription (login with your Miami ID and password).
Student & Instructor Expectations
You, as a student, should try your best to:
· Check the Canvas class site regularly. You can also configure Canvas to send you notifications when different events occur - click on your name or "Settings" from the top right and then select
Notifications.
· Check your Miami email regularly.
· Submit assignments before their due date/time.
· Complete all readings and activities in a timely manner.
· Notify the instructor promptly if you have any problems.
· Remember that we are all humans and make mistakes. If something doesn't seem right in an assignment, grading, etc., please ask me about it.
· Technology problems should be reported to IThelp@miamioh.edu (mailto:lThelp@miamioh.edu)
I, as the instructor, will try my best to:
· Check the Canvas class site regularly to monitor course activities.
· Check my email at least twice a day Monday-Friday.(I may or may not check my email on the weekend).
· Respond to all email within 48 hours (except on weekends).
· Grade submitted items in a timely manner. My goal is that the time needed to grade an item will be similar to the time students had to complete the assignment.
· Maintain posted office hours for students who want to meet face-to-face.
Course Policies
Attendance
· Attendance and attention to the work of others are required.
· I expect that you will come to class when it is scheduled. If you miss or arrive late for more than 2 class meetings, I may drop you from the course and/or reduce your course grade by 5% for each missed or late class.
· If you have to miss a class, please send me a short e-mail update, similar to what you might do if you have to miss work. You are responsible for all material, assignments, and announcements made during class, but I am happy to discuss the missed material with you if needed.
· In some instances, you will not be able to make up work that is done in the classroom if you are not present on the day it is done. For example, most presentations may not be made up.
Announcements
· Announcements may be posted on Canvas or emailed. For instance, clarifications may be made to
an assignment or a due date may be extended.
· Please check Canvas and your email regularly.
Due dates
· Due dates will be specified when assignments are given.
· Most assignments are due at the start of class on the specified date.
· Occasionally assignments will have special instructions regarding due dates or turn in methods - please read assignment instructions carefully.
· Late work - my main concern with late work is that you are not keeping up with the pace of
the course.
o Any assignments due during the first two weeks of the course can be submitted late with no penalty.
o After the first two weeks of class, assignments due before September 29, work will be accepted up to 3 weeks late, but with points deducted based on how late the assignment is.
o Assignments due after September 29 will be accepted up to one week late, but with points
deducted.
o If you are concerned that you may not be able to complete an assignment before the due date, feel free to talk to me. I may make individual exceptions to the late policy.
Weekly Status Reports
At the end of each week when the class meets, you will submit a status report. Programmers and IT
staff in a professional environment are often required to submit status reports, so this activity will give
you experience with status reports. The status reports will also help you reflect on what you are doing in the class and plan your future work - activities that have been shown to help the learning process. The status reports will also help me understand how the class is going. Status reports are due by the end of the day on Friday, but will not be counted as late until Monday. Individual Canvas assignments will be setup for each status report.
Assignment standards
· This class will require a number of written assignments. Correct spelling, grammar, punctuation, and citing of sources is expected.
· Program code must follow the CSE department style guidelines- programmingGuidelines.pdf (https://miamioh.instructure.com/courses/196315/files/28525869/download?wrap=1)
· Assignment solutions should not use Java features that have not been covered in class at the time an assignment is assigned. If you have questions about what can be used, please ask your
instructor. Assignments that use Java features that have not been covered in class will receive zero points.
· Failure to follow the assignment requirements will result in a loss of points, so be sure to read and understand all assignments thoroughly. Ask questions when in doubt.
· See the Academic Integrity section below for additional expectations.
Determination of Grade
Your grade will be calculated using a weighted average. If you are not familiar with how a weighted average is calculated, please ask.
Grade Components
Component |
Weight |
Assignments, labs, exams |
80% |
Weekly status reports |
10% |
zyBooks activities |
10% |
Grading Scale
Letter Grade |
Percentage range |
Letter Grade |
Percentage range |
A+ |
97-100% |
A |
93-96% |
- |
90-92% |
B+ |
87-89% |
B |
83-86% |
- |
80-82% |
C+ |
77-79% |
C |
73-76% |
- |
70-72% |
D+ |
67-69% |
|
63-66% |
|
60-62% |
F |
below 60% |
|
|
Statement of Community
Miami University is committed to fostering a supportive learning environment for all students irespective of individual differences in gender, race, national origin, religion, handicapping conditions, sexual preference, or age. Students should expect and help create a learning environment free from all forms of prejudice. Disparaging comments, sexist or racist humor, or questioning the academic commitment of students based on these individual differences are behaviors that undermine our learning community. If such behavior occurs in class, please seek the assistance of your instructor or the campus Dean (or
their designee). We will not tolerate unacceptable behavior in this classroom, on this campus, or at this university.
In other words, please talk to me if you have concerns about something that happens in this class. If you are not comfortable talking to me, then please talk with someone. I will always try my best to address any disparaging behavior or comments.
Accommodation of Disabilities
Students with disabilities may request reasonable accommodations. Information may be found at
the Student Disability Services (SDS) web site (http://miamioh.edu/student-life/sds/index.html). For
the Hamilton campus, you can find SDS in 130 Rentschler Hall, phone 513-785-3143, email-
[email protected] (mailto:[email protected])
Students that have completed SDS registration are encouraged to meet with faculty during week 1 of class to discuss accommodation plans for the course.
Academic Integrity
Please review the descriptions of unacceptable behavior and corresponding penalties by reviewing the
Miami PolicyLibrary-Academic Integrity.已 (https://miamioh.edu/policy:
library/students/undergraduatelacademic-regulations/academic-integrity.html).
Unless directly assigned otherwise, all assignments are to be completed on an individual basis. It is a
violation of academic integrity as well as the specific code of conduct as presented in the student
handbook for you to represent another's work as your own. This includes cutting and pasting information from websites. You may not use Artificial Intelligence (Al) tools to write code for this course. No credit
will be given for any work that contains copied materials or material generated by Al, and you will be subject to University penalties regarding academic dishonesty.
You are encouraged to study with or discuss general aspects of assignments with other students.
However, anything turned in must be your own work. If you discuss an assignment with a fellow student, make sure that you do not directly copy their code or let someone else directly copy your code.
If you are having difficulty understanding or completing an assignment, please ask for clarification or assistance.
lmportant Dates
The Registrar maintains the Miami academic calendar已 (https://miamioh.edu/academic- programs/academic-calendar/index.html) .
· Friday, September 15, 2023 - last day to drop with no grade.
· Monday, October 30, 2023 -last day to drop with a grade of "W"
Technical help
The Regional Technology Services group 已 (https://miamioh,edu/regionals/technology: services/index,html ) is available to help with technology issues.
· The Hamilton Help Desk is located on the third floor of Mosler Hall and can be reached at 785-3279.
· The Middletown Help Desk is located in the lower level of the Gardner-Harvey Library and can be reached at 727-3356.
2023-09-05