Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
Syllabus for TCSS 360 A Su 22: Software Development And Quality Assurance Techniques You need to have JavaScript enabled in order to access this site. Dashboard TCSS 360 A Syllabus Skip To Content Dashboard Login Dashboard Calendar Inbox History Help Close My Dashboard TCSS 360 A Syllabus Summer 2022 Home Syllabus Modules Files Assignments Quizzes Pages Panopto Recordings UW Resources Course Syllabus Jump to Today Course Description Provides a practicum in program design and development. Programming practice on a medium-scale, object-oriented application, consolidating prior programming principles and expanding knowledge of application design. Topics Covered (note that this list may not include all the topics that will be covered in class): Tools and Tool Usage: Basic Version Control (git and GitHub) Project planning with Pivotal Tracker UML diagrams with app.diagrams.net Time tracking using Toggl Programming and Design Concepts Object Oriented Principles Software Life Cycle Software Design Paradigms Project Planning Versioning with git Assorted Design Patterns (which employ object oriented principles) Software verification and validation and quality assurance Types of testing Requirements and Specifications documents Configuration management Tentative list of weekly topics: for specific material (notes, slides, readings) please see Modules section. Note that Homework will be written/non-programming and assignments/projects will involve coding/programming. Group project will have weekly deliverables. NOTE: OO principles and Design Patterns will be discussed throughout the weeks of the quarter  Week1 Course Intro Software Processes (Agile especially) Software Life cycle Group formation 'homework' Group programming assignment Week 2 Versioning with git Project management User stories Pivotal Tracker Toggl Week 3 Requirements and specifications engineering SRS Document Course project assigned SRS Draft assigned UML class diagrams Quiz 1 Week 4 First iteration of project More Software Processes Use cases Software testing Week 5 Second iteration Software Quality Management Design patterns Week 6 Third iteration More patterns Code smells Quiz 2 Week 7 Fourth iteration (final formal  iteration) Configuration management Continuous Integration More patterns Week 8 Code review Configuration management Continuous Integration Cloud computing basics Week 9 Cloud computing concepts Project demonstrations Quiz 3 Course Format/Structure This course will be delivered in hybrid format. There will be a synchronous recorded lecture each Monday at 9am, unless otherwise specified. You are not required to attend this lecture live, but are encouraged to do so if you have the time. Wednesday lectures will be in person and will also be recorded via Zoom. Note that I will not monitor Zoom activity during Wednesday lectures. I am striving for maximum flexibility with our summer schedule.   Class days hours: Monday (Zoom and recorded), Wednesday (in person and recorded) 9-11:30am (there will typically be a 10 minute break at the halfway point of lecture) Instructor Info Name: Tom Capaul (I prefer if you refer to me as Tom, but Mr. Capaul or Professor Capaul are fine too) Email: tcapaul@uw.edu Tom's Teaching Schedule: TCSS 360A - MW 9:00-11:30am TCSS 83A - MW 1-3:30pm Office: Cherry Parkes 206R (which is inside 206M) Office phone: none yet Office Hours: MW 12-1pm or M-F by appointment (I am happy to make time to meet with you on other days and/or times as necessary) for W office hours, you can come in person or you can Zoom in (see link below) but note that in person takes precedence over Zoom Additional Office hours: Available by appointment M-F (email to set up a time). I am also available all days of the week via email. If you email me later in the evening you likely won't hear from me until the morning. In addition, if you email on the weekend you likely won't hear from me until Saturday or Sunday evening depending on what I have going on. Zoom Info Zoom office hours link:  https://washington.zoom.us/j/2384123092 Tom's personal Zoom meeting ID (same as office hours link): 238 412 3092 Zoom link for class (NOTE: for recordings please go to Zoom from the class Canvas page and select the Cloud Recordings tab to view recorded lectures). https://washington.zoom.us/j/91478149381 Required Course Materials Textbook: none are required -- content will be provided via notes/slides and web links: NOTE:  Most books are available in eBook form via the UW online Library  at no cost to you as a student :-) (you must login to library using your UW username and password). Here is an informational page on accessing books via the UW Library: Online Book Access via UW Library SUPPLEMENTAL:  https://learn.saylor.org/course/view.php?id=73  SUPPLEMENTAL Background if you would like another point of view Software Engineering: A Methodical Approach, Elvis Foster (ISBN 9781484208472) - free a eBook via UW Library Essentials of Software Engineering, 4th edition, Frank Tsui (ISBN 9781284106077) - free as eBook via UW Library Head First Java, Second Edition, Kathy Sierra, Bert Bates, (ISBN-13: 978-0596009205) - free as eBook via UW Library Head First Design Patterns (not a Java reference, but contains amazing OO material), Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra, (ISBN: 9780596007126) - free as eBook via UW Library Find all/additional readings on the Module pages. Computer Hardware: You need a machine capable of running at least JDK 12 and Eclipse for Java Developers. Your Operating System can be Windows, MacOS or Linux. Note that use of IntelliJ is fine, but I will officially support Eclipse. Computer Software: In this course, we will use the following software, which you need to install on your personal computer if you wish to work alone: OpenJDK (at least version 12 - later versions or OK :-) 12.0.2+12 - https://jdk.java.net/archive/  for Windows, Linux, and Mac OS X. Eclipse IDE for Java Developers - latest is here: https://www.eclipse.org/downloads/packages/ You are welcome to use IntelliJ if you are used to that. You will do a great deal of work in teams this quarter so will need to decide on an IDE you are all comfortable with. Your instructor will officially support Eclipse, that is why the above items are listed. I will also support IntelliJ and intend to begin transitioning to using IntelliJ over Eclipse. Student Outcomes/Learning Goals Upon successful completion of the course, students should be able to: Write and validate client/customer requirements incorporating standard forms of representation for small projects. Construct a design based on client/customer requirements composed of multiple computational units, represented with standard forms Test a subset of client requirements consistent with the design Participate effectively in a team to carry out the above tasks using appropriate tools for facilitating teamwork This course contributes to the following CSS Degree Student Learning Outcomes: an ability to apply knowledge of computing and mathematics appropriate to the discipline an ability to analyze a problem, identify and define the computing requirements appropriate to its solution an ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs an ability to function effectively on teams to accomplish a common goal an understanding of professional, ethical and social responsibilities an ability to communicate effectively with a range of audiences an ability to analyze the impact of computing on individuals, organizations, and society, including ethical, legal, security and global policy issues recognition of the need for, and an ability to engage in, continuing professional development an ability to use current techniques, skills, and tools necessary for computing practice This course supports the achievement of the following program outcomes: an ability to apply knowledge of computing and mathematics appropriate to the discipline; an ability to analyze a problem, identify and define the computing requirements appropriate to its solution; an ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs; recognition of the need for, and an ability to engage in, continuing professional development; an ability to use current techniques, skills, and tools necessary for computing practice. UWT Student Learning Goals that this course contributes to: Inquiry and Critical Thinking Students will acquire skills and familiarity with modes of inquiry and examination from diverse disciplinary perspectives, enabling them to access, interpret, analyze, quantitatively reason, and synthesize information critically. Civic Engagement Students will define their roles and responsibilities as members of a broader community and develop an understanding of how they can contribute to that community for the greater good. Communication/Self-Expression Students will gain experience with oral, written, symbolic and artistic forms of communication and the ability to communicate with diverse audiences. They will also have the opportunity to increase their understanding of communication through collaboration with others to solve problems or advance knowledge. Student and Instructor Expectations Student Prerequisites: A minimum grade of 2.0 in TCSS 342 (Data Structures); 10 credits of writing coursework. Preconditions: All students entering this course should be able to Develop and implement programs involving the fundamental programming constructs (variables, types, expressions, assignment, simple I/O, conditional and iterative control structures, functions and parameter passing, structured decomposition). Develop and implement programs that use each of the following: arrays, objects, strings. Implement a low-complexity program (3 or more interacting classes) that includes the use of interfaces and/or abstract classes, and polymorphism given some design guidance. Apply object-oriented design concepts such as inheritance, composition, encapsulation, abstraction, method overloading, method overriding, exception handling, and scope appropriately to the implementation of a program. Provide formal documentation for a program using Javadoc comments. Use single and multidimensional arrays and linked lists as well as basic data structures (Lists, Stacks, Queues) in the implementation of a program. Use a provided class, given only its API. Self-assessment tests are available online to help you determine if you are prepared for this course or if you should consider taking one of the prerequisite courses instead. How to BEST Ask Questions/Seek help electronically: NOTE: Following the instructions below will provide all parties with the best opportunity to properly answer any question you might have. This especially pertains to problems you are having with your code. The following rules hold whenever you ask a question of anyone. We repeat them here because some of you might not have learned them in a previous class. Believe it or not, they are the same as standard rules for writing a good bug report. First of all, if you are having trouble, we want to help you (that's why we teach!). However, you need to provide sufficient information about your problem. This includes: *exactly what you did — preferably as a script that others can follow (such as pasting into a command shell) to reproduce the problem *why you did that — what instructions were you following? *ALL files and other resources that are needed to reproduce the problem *what you expected to happen *complete output — don't just include a snippet of what you think is the important part. Also, before you ask for help, you should try to help yourself, and your question should reflect that effort. Don't ask questions that are solvable by an easy web search (this is a waste of everyone's time). Also, if you aren't willing to lift a finger to help yourself, that reduces the motivation of others to help you. Explain what you have already tried and what happened. While the above sounds a bit stern, understand it is to try and ensure we are able to help you as soon as possible (avoiding back and forth emails clarifying things). Preference for UW email: Be aware that the UW email policy (https://www.tacoma.uw.edu/uwt/it/uw-tacoma-email-policy) states that "Faculty and staff are not obligated to respond to students using non-UW email accounts." I may choose to respond to email from other sources, but it is also possible the email from other source will be filtered as spam or that I will not respond for other reasons. I certainly will not discuss grades or anything else of a personal nature through email other than UW email (because I don't know if I am communicating with you or not). To assure that I receive and respond to your emails, please use your UW email address. Also, official announcements about this course will be sent to your UW email address, so check your UW email regularly. Emailing Instructor Directly From Canvas (try and avoid this): Please refrain from emailing me from Canvas if at all possible.  Canvas does not cleanly maintain email threads, does not allow me to return/send files to you, and other problems. While it is a little inconvenient, please use your UW email for all email communication. Ultimately this is for your own good.  Thanks in advance for your help with this! Attendance and Participation: Students are encouraged to attend classes or arrange absences in advance. To aid the learning process, students are required to participate in class discussion. I will regularly ask questions in lecture. Please do your best to pay attention and answer where appropriate. While no specific grades are given for attendance and participation please note that the more you attend and participate, the more I will get to know you. This matters for many reasons: At quarter's end I will consider your attendance and participation positively for your final grade. More specifically, I may bump your grade up for enhancing our learning environment by participating. You will likely want references on your resume for internships and/or full time jobs. If you contribute to my class, I am typically happy to serve as a reference for you. Ditto with regards to letters of recommendation for internships, jobs, or even scholarships. Study Groups: You are highly encouraged to form study groups to discuss the material of this course. Studies have observed that people who actively discuss ideas with others (either in the classroom or at home) can grasp the material and articulate it better than those who don't. It is in your best interest to participate in such a group. Academic Integrity and Collaboration Policy: Both the value and the success of any academic activity, as well as the entire academic enterprise, have depended for centuries on the fundamental principle of absolute honesty. Students assume full responsibility for the content and integrity of the academic work that they submit. Although students are encouraged to discuss ideas and analyses with others, individual written assignments must reflect only the individual’s efforts. A complete list of Academic Standards is published in the University of Washington Tacoma Catalog. A student who violates Academic Standards for an assignment will receive no credit for that assignment. Review expectations, policies, and consequences at https://www.tacoma.uw.edu/uwt/registrar/academic-policies. Homework assignments must be completed individually, must reflect your own understanding of course concepts, and be your own work. However, a limited amount of collaboration is permitted. You may collaborate by discussing the concepts pertinent to an assignment with others. You must not copy the work of others or allow others to copy your work, in full or in part, for any reason. In addition, you are expected to acknowledge those individuals with whom you discussed the homework by writing something like "I discussed this problem with XXX" in your executive summary. If you wish to incorporate code written by others (for example, code samples from the Internet), you must first ask for permission from the instructor and then you must clearly document the source of the borrowed code in your comments. Failure to give proper credit for the ideas and/or work of others will result in severe grade penalties. The following actions are acceptable: Contacting the instructor for help with, or clarification on, an assignment. Posting messages to the class discussion forum about parts of the assignment, without posting actual code. Discussing the assignment in general terms with other students, without sharing code or algorithmic details. Assisting another student with technical details (setting up Python, PyCharm, etc.). The following actions are NOT acceptable: Sharing your homework solution with another student. Helping another student by "walking them through" how to solve the problem in detail. Coming up with a solution to an assignment together with another student. Discussing the algorithm for completing an assignment or large portions of an assignment in detail. Receiving source code from other students, the Internet, or other sources and submitting it as your own work.  Retrieving another student's solution from email, from their user account, or from a hardcopy printout, and using it as a basis for your own work. When in doubt, ask the instructor whether a behavior violates the spirit and/or intent of this policy. Instructor The instructor is responsible for providing structure with regards to all course content. Expectations, deadlines, grading criteria, and availability should be made clear to students from the inception of the course. The instructor should be available during specified office hours as well as any scheduled appointments with the student.  Grades should be returned in a timely fashion, typically within one week of the due date. Depending on class size and content of what is being graded, grading may take longer. If an assignment has content from a previous assignment that was not returned before the current assignment was due, and a student loses points on the previous assignment for that content, the student will not be held accountable for those points on the current assignment (in most cases). The instructor is here to guide and mentor students on not only course content, but also computer science and software development topics (both technical and soft skills).  The instructor is here to educate you and help you grow as a student and as an individual. The instructor is not here to intimidate you or show you up -- please do the same for the instructor in this regard! Assignments Each homework assignment will have an indication of its weight and its grading criteria. Some homework will have extra credit. There will be weekly assignments in one form or another. There will be a good deal of group work in the class (teams of 3 if possible - details will be given in lecture, but self-selection will be allowed) There will be basic team assignments and as well as a team project. The project will involve a good portion of the work done in the second half of the quarter. Find complete assignment details and due dates on the Assignments page. Grading Grade Scale The UW Tacoma numerical grading system will be used. Here is a breakdown of grade point based on percentage earned by the student GRADE SCORE GRADE SCORE GRADE SCORE GRADE SCORE 4.0 98-100 3.4 89 2.4 79 1.4 69 3.9 95-97 3.3 88 2.3 78 1.3 68 3.8 93-94 3.2 87 2.2 77 1.2 67 3.7 92 3.1 86 2.1 76 1.1 66 3.6 91 3.0 85 2.0 75 1.0 65 3.5 90 2.9 84 1.9 74 0.9 64 2.8 83 1.8 73 0.8 62-63 2.7 82 1.7 72 0.7 61 2.6 81 1.6 71 0.0 0-60 2.5 80 1.5 70 Grade Breakdown 70% assignments (this includes in class lab assignments and items turned in to Canvas and Subversion) Individual Homework 20%: 2 written assignments and iteration hours Group project work 50% 2 project milestones/deliverables (30%) Weekly deliveries (from week 5 through 9) (10%) Basic group work (10%) 30% quizzes (3): these will be given via Canvas and will be closed note, closed book, closed internet access for search unless otherwise specified. Study guides will be provided for each quiz. Extra credit: some assignments will contain extra credit options; there may be extra credit questions on quizzes -- expect such questions to be extra tricky/difficult/obscure ;-) Late Assignments All assignments are due by 11:59PM on the labeled due date. Late assignments will be accepted up to 48 hours late. A 10% penalty will be assessed for each 24-hour period the assignment is late. Please note that 1 minute late is the same as 23 hours 59 minutes late.  Do not put yourself in a position where you are up against the 11:59PM deadline if at all possible. Set a mental deadline for yourself that is at least an hour before that to allow for internet connectivity and upload snafus/problems. Make-up Work No make-up work will be accepted unless under documented extreme circumstances. If you are having issues with the class, an assignment, or something else related to the course, contact the instructor ASAP to discuss whatever is at issue. Communicating with the instructor before something is due gives you a reasonable chance for extra time, depending on your circumstances. Communicating after the fact warrants far less flexibility on the part of the instructor. It is your grade thus it is your job to take care of it.  Contesting Grades If you do not understand or agree with a grade on an assignment, test, or exam, you must ask about the issue within one week after the grade is posted on Canvas. Send questions via email and I will consider the issue and give a quick response. Note that while a grader may be used for assignments, the instructor has the final say on all scoring. Come to the instructor with any grading questions. Resources Religious Accommodations Washington state law requires that UW develop a policy for accommodation of student absences or significant hardship due to reasons of faith or conscience, or for organized religious activities. The UW’s policy, including more information about how to request an accommodation, is available at Religious Accommodations Policy (https://www.tacoma.uw.edu/uwt/digital-learning/e-syllabus). Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form (https://registrar.washington.edu/staffandfaculty/religious-accommodations-policy/ ). Institute Support Please maintain communication with the Institute advisors regarding your studies and notify them of any personal or learning struggles. It’s important to reach out early. http://www.tacoma.uw.edu/institute-technology/academic-advising. Campus Support https://www.tacoma.uw.edu/uwt/digital-learning/e-syllabus Other references that may be useful include: How to Write Doc Comments for the Javadoc Tool Java Tutorial: Java 2D Graphics How to Use Swing Timers Java Class Library Reference: Observer Java Class Library Reference: Observable Java Practices: Implementing Serializable Version Control with Subversion (Book)     The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else. To add some comments, click the "Edit" link at the top. Syllabus Description: Show Course Summary Cancel Update Syllabus Course Summary: Date Details Due Prev month Next month June 2022 6 Calendar Sunday Monday Tuesday Wednesday Thursday Friday Saturday 29 May 2022 29 Previous month Next month Today Click to view event details 30 May 2022 30 Previous month Next month Today Click to view event details 31 May 2022 31 Previous month Next month Today Click to view event details 1 June 2022 1 Previous month Next month Today Click to view event details 2 June 2022 2 Previous month Next month Today Click to view event details 3 June 2022 3 Previous month Next month Today Click to view event details 4 June 2022 4 Previous month Next month Today Click to view event details 5 June 2022 5 Previous month Next month Today Click to view event details 6 June 2022 6 Previous month Next month Today Click to view event details 7 June 2022 7 Previous month Next month Today Click to view event details 8 June 2022 8 Previous month Next month Today Click to view event details 9 June 2022 9 Previous month Next month Today Click to view event details 10 June 2022 10 Previous month Next month Today Click to view event details 11 June 2022 11 Previous month Next month Today Click to view event details 12 June 2022 12 Previous month Next month Today Click to view event details 13 June 2022 13 Previous month Next month Today Click to view event details 14 June 2022 14 Previous month Next month Today Click to view event details 15 June 2022 15 Previous month Next month Today Click to view event details 16 June 2022 16 Previous month Next month Today Click to view event details 17 June 2022 17 Previous month Next month Today Click to view event details 18 June 2022 18 Previous month Next month Today Click to view event details 19 June 2022 19 Previous month Next month Today Click to view event details 20 June 2022 20 Previous month Next month Today Click to view event details 21 June 2022 21 Previous month Next month Today Click to view event details 22 June 2022 22 Previous month Next month Today Click to view event details 23 June 2022 23 Previous month Next month Today Click to view event details 24 June 2022 24 Previous month Next month Today Click to view event details 25 June 2022 25 Previous month Next month Today Click to view event details 26 June 2022 26 Previous month Next month Today Click to view event details 27 June 2022 27 Previous month Next month Today Click to view event details 28 June 2022 28 Previous month Next month Today Click to view event details 29 June 2022 29 Previous month Next month Today Click to view event details 30 June 2022 30 Previous month Next month Today Click to view event details 1 July 2022 1 Previous month Next month Today Click to view event details 2 July 2022 2 Previous month Next month Today Click to view event details 3 July 2022 3 Previous month Next month Today Click to view event details 4 July 2022 4 Previous month Next month Today Click to view event details 5 July 2022 5 Previous month Next month Today Click to view event details 6 July 2022 6 Previous month Next month Today Click to view event details 7 July 2022 7 Previous month Next month Today Click to view event details 8 July 2022 8 Previous month Next month Today Click to view event details 9 July 2022 9 Previous month Next month Today Click to view event details Assignments are weighted by group: Group Weight Assignments 70% Quizzes 30% Imported Assignments 0% Total 100%