Programming - Data Structures (BIT 143)

Total Page:16

File Type:pdf, Size:1020Kb

Programming - Data Structures (BIT 143)

Intermediate Programming 2017 Spring (BIT 142, All Sections) Course Description This is a first course in computer science using a language such as C#. This course covers variable types, control structures, functions, modular programming, pointers/references/etc., arrays, structures and an introduction to recursion. The course will introduce basic sorting and searching algorithms. The emphasis of this course will be program design, algorithmic (variables, expressions, statements), and abstraction (data types, functions). (from COG version 052213) Required Materials C# for Programmers or C# How To Program by Deitel & Deitel Published by Prentice Hall PTR The edition doesn't matter – the material that we're covering hasn't changed in a while and there will be NO problems assigned from the book. So find the cheapest one you can and use that 

Note that you may be able to find a free, online version via the college’s library. Try this link, and let the instructor know if it doesn’t work: http://proquest.safaribooksonline.com.offcampus.lib.washington.edu/book/program ming/csharp/9780132657402

You may need to set up a UW netid here: https://uwnetid.washington.edu/newid/ Required Materials Access to Microsoft's Visual Studio Express (or Visual Studio Professional) (these can both be downloaded for free from Microsoft, as detailed on the class website)

Required Actions Since this class is partially online, maintaining clear lines of communication between the instructor and student is of paramount importance. There will be times when the instructor needs to inform you of changes, clarify something, etc, between class sessions, and it is imperative that the instructor be able to do efficiently, and with confidence that you have received the message, and (if appropriate) acted upon it. To that end, you must have an email address that you read at least once a day (once per 24 hour time period). You need to provide this email address to the instructor, so that the instructor can use it to contact you. If this email address changes, you are required to immediately inform the instructor.

Optional Materials Removable media(s) for backup of work Class Meetings Mondays, 1:15pm – 3:20pm, Room CC1-211 -Online- Office Hours Tuesdays from noon till 3pm or by appointment Office hours will be typically be held in my office (room CC1-319) These office hours may change, based on other commitments to the college. Contact Info If I’m in my office, feel free to knock. Otherwise, email is a good way to contact me. [email protected] Office: 319 Phone: 352-8211 Mailbox: In Room CC1-154 Website The course website is: http://faculty.cascadia.edu/mpanitz/Courses/BIT142/ The website will contain announcements, assignments, and materials from class.

The URL for Cascadia Community College is: http://www.cascadia.edu/ Accessibility If you have or suspect you have a disability and need an accommodation please contact the front office in Kodiak Corner at 425-352-8383 to make an appointment with the Disability Support Services. Services and Accommodations through DSS are not retroactive. On-Campus If you have a personal problem or stress that is affecting your schoolwork and would Counseling like to talk with someone, please contact the Cascadia counselor. Counseling at Cascadia is confidential, professional and free. Visit the Kodiak Corner front desk or call 425-352-8860 for an appointment. Advising Academic advising helps students make the connection between academic interests, degree requirements and career paths. Advisors can assist students with:

 Choosing a degree and major  Advice on degree requirements and course scheduling  Career interest inventories  Information about course equivalencies and transfer policies  Setting long-term academic goals

Students should plan to meet with an advisor at least two weeks prior to registering for classes. 30-minute advising appointments and walk-in advising are available daily during regular office hours.

Location: Kodiak Corner, Cascadia 1st floor Phone: 425-352-8860

E-mail [email protected]

Instant Messenger Advising Mondays & Fridays 9:30AM – 11:00AM Tuesdays & Thursdays 6:30PM – 8:30PM MSN: [email protected] Yahoo : [email protected] ICQ: 356084379 Prior Learning Completion of BIT 116 with a grade of 2.0 or higher and completion of MATH&107 (formerly MATH 107), MATH&&141 (formerly MATH 110), MATH 147 (formerly MATH 115), or MATH&146 (formerly MATH 135) with a grade of 2.0 or higher. Learning Outcomes Learn Actively - Learning is a personal, interactive process that results in greater expertise and a more comprehensive understanding of the world.  Develop expertise, broaden perspectives and deepen understanding of the world by seeking information and engaging in meaningful practice.  Construct meaning from expanding and conflicting information.  Engage in learning, both individually and with others, through reading, listening, observing and doing.  Take responsibility for learning. Think Critically, Creatively and Reflectively - Reason and imagination are fundamental to problem solving and critical examination of ideas.  Create, integrate and evaluate ideas across a range of contexts, cultures and areas of knowledge.  Recognize and solve problems using creativity, analysis and intuition.  Examine one’s attitudes, values and assumptions and consider their consequences. Communicate with Clarity and Originality – The ability to exchange ideas and information is essential to personal growth, productive work, and societal vitality.  Organize and articulate ideas for a range of audiences and purposes.  Use written, spoken and symbolic forms to convey concepts creatively.  Use technology to gather, process and communicate information. Interact in Diverse and Complex Environments - Successful negotiation through our increasingly complex, interdependent and global society requires knowledge and awareness of self and others, as well as enhanced interaction skills.  Build interpersonal skills through knowledge of diverse ideas, values and perspectives.  Collaborate with others in complicated, dynamic and ambiguous situations. 1* Practice civility, empathy, honesty and responsibility. Technical The primary goal of this course is to become a proficient C# programmer, in Objectives preparation for the next course in the sequence. Included in this goal are the following skills: knowledge of the syntax of C#, ability to solve medium-size programming problems, understanding of fundamental software engineering principles, ability to debug and test programs. Students are presented with a series of programming problems to solve, which will help them to develop these skills Assessment You will be graded as follows:

Activity # Points per each Total fo Homework / Assignments 2 150 300 Proctored Exams 2 150 300 Online Activities 180 points total (see below for details) In Class Activities (for Hybrid students ONLY) 90 points total (see below for details) Total Points (Online students) 780 Total Points (Hybrid students) 870

Online and In Class activities can be further broken out by the type of class you’re enrolled in:

Class Activity Points (hybrid class) PCEs 10 / week x 9 weeks = 90 points Video Outline (or 10 / week x 9 weeks Viewing Quiz) = 90 points In-Class Activities 10 / week x 9 weeks (the midterm & final are not (for Hybrid students included in this total) ONLY) = 90 points

Notice that the grading schema for the two versions of the class (online and hybrid) are nearly identical. It is expected that hybrid students will regularly attend class and that online students will not attend class (all students are welcome to attend class, but none are required to).

Note that the class will use an absolute grading scheme: If you get 100% of the points possible, you’ll get a 4.0. If everyone gets 100% of the points possible, everyone will get a 4.0. Table 1 (see below) shows you how to convert the points you've earned in this class into your final GPA for this class.

The terms “homework” and “assignment” are interchangeable, and everything that I say here that applies to one, applies to the other. Exercises are something different – exercises refer either to the post-class activities to be done after the weekly lecture portion of the class, or the in-class work during the weekly lecture, or the weekly “preview videos” and the accompanying viewing quizzes.

Once a homework has been graded I will return it to you. You may then have the opportunity to revise your work (in whole or in part), and re-submit your work for a re-grade. The higher grade of the two will be your final grade for that homework assignment. There are a couple of caveats: when you resubmit your work in this way, I won’t just re-grade parts of your work that had problems, but instead check to make sure that the entire assignment is correct; I may then follow up with verbal questioning of you. You have 1 week from the time the class gets the graded assignment returned to hand in your revision. This means that if you are absent on the day that an assignment is handed back, and haven't made prior arrangements with the instructor, then you will still only have 1 week after the rest of the class got their grades to do your revision. If you miss too many classes, you might end up not having the chance to do a revision. You may only hand in one revision per assignment.

The exams will be cumulative: any topic covered from the beginning of class till the time of the exam is fair game for questions. The exams will include will emphasize problem solving, and utilization of what you’ve learned in class. If the college is closed during the time of the final exam (for example, due a to power outage) then the instructor reserves the right to not administer a final exam will and instead remove the final exam's points from the point total. While the instructor may (or may not) provide other options, and while any such options may (or may not) work for you, individually, the instructor may just remove the final exam from the course entirely. The exams must be taken in-person; there are no online exams in either version of this course. The website lists the day and time that the exam will be given for the students enrolled in the hybrid section. Students enrolled in the online section have three options: 1. Take the exam at the same time and place as the students in the hybrid section. This is the recommended option, and it's free. 2. Arrange with the instructor to have the exam proctored at a different time. You MUST arrange this with the instructor during the first or second week of the quarter (after that time the instructor may or may not be able to arrange the proctoring). The exam will be scheduled as close to the hybrid section's exam as possible. This option is great for students who are taking this class online because they're enrolled in a different class at the same time, and it's free. 3. Arrange with the instructor to have an external proctoring service proctor the exam for you. You MUST arrange this with the instructor during the first or second week of the quarter (after that time the instructor may or may not be able to arrange the proctoring). Given that the instructor will need to communicate with the proctoring service it's recommended that you arrange this as soon as the quarter starts. This option is NOT free. Proctoring services charge for their service and you will need to pay for this service using your own money. If you're receiving Financial Aid you may wish to speak to someone in the Financial Aid department about having FinAid cover this – I don't know if they will or not, but it's worth asking about.

No make-ups will be given for exams, presentations, or other such graded events that were missed without prior notification to the instructor. The only exception is if the absence was the result of an unavoidable serious accident, a death in the family, or a serious illness. Exceptional circumstances must be verified by an appropriate third party, i.e. police report, a funeral notice, or a note form the student's doctor stating the patient's inability to take the test.

Each week, you will need to complete work outside of class session time, labeled "individual Post-Class Exercises" (aka PCEs), which is due weekly (see the on-line course schedule for details). Each student must do the work individually, and submit these pre-class exercises individually. Each student is free to collaborate with anyone else in the class to complete these exercises, which includes having both/all people sitting down at the same computer, and working through the exercises together. Regardless, each person needs to hand in a unique copy of the exercises that they've done on their own (so if two people sit at the computer & work through the exercises, one person will have to do the exercise a second time, and in (at least a slightly) different way). The instructor may elect to grade all the PCEs, or just a subset; points may be deducted for missing sections even when the missing sections aren't part of the graded subset.

In addition to the Post-Class Exercises, you must complete the Viewing Quiz for the videos. In order to complete the quiz you will need to watch the Preview Videos, so make sure to budget enough time to both watch the videos and frequently pause the videos to write down your answer. The Viewing Quizzes are typically handed in by including them in the same .ZIP file that has your PCEs in them.

No matter how many weeks there are in this particular quarter, you will receive no more than 200 total points from the Online Activities category.

Any disagreements about your grade should be brought to my attention immediately.

School closure plan (this includes inclement weather, pandemics, earthquakes, etc): If the college closes during our class time, detailed instructions on how you will make up the work will be provided online.

Unless stated otherwise, all work should represent your own original, independent thinking. Unless stated otherwise, out of class assignments are not meant to be group projects. Academic Dishonesty / Misconduct:

It is okay to talk with classmates to clarify conceptual understanding necessary to complete assignments. However, copying another person’s work in whole or in part, either manually or electronically, it not acceptable; nor is copying and slightly modifying another person’s work acceptable.

Additional examples of code and exam plagiarism include: 1. Taking the work of someone else (including other students) and turning it in as your own. 2. Giving your work to another student to turn in as their own. 3. Getting information about an exam from another student. 4. Giving information about an exam to another student. 5. Copying code off the Internet and turning it in as your own. 6. Getting someone else to write your homework for you. This includes paying someone else to write your homework for you. 7. If two or more homeworks or exams are found to be suspiciously similar, the burden of proof rests upon the students who submitted the work.

In general I think that the general Academic Misconduct policies used at the University of Washington's CSE department are excellent, and will be using those policies in this class as well.

In the event plagiarism should occur: all participants in the plagiarism (both the person plagiarizing, and the person whose work was taken) will receive: 1. a 20% penalty on the first offense 2. a grade of zero for the second offense, and 3. for a third (and final) offense, all parties will be given the option of either withdrawing (if the drop deadline hasn't been passed) or taking a "0.0" for the term.

(Second (and third) offences include offences from prior terms)

Note that the penalty for plagiarizing take-home exams (if any take-home exams are assigned) is different than the above: in the event that any part of one’s take home exam is plagiarized then that person will receive a zero ( 0 ) for the entire exam.

Group projects are learning exercises like individual projects: every individual in the group is expected to understand all the material as if each person had done the entire assignment individually. Therefore, it is fair game to ask any person in a group to explain any aspect of the assignment that the group has done.

Autograded Work: Much in the same way that systems like WAMAP enable math students to get immediate feedback on developmental math problems, I have created a system that can be used to immediately assign a grade to (some of) your work. Any attempt to receive a grade that you did not earn will be referred to as “cracking” the tests during this course. Examples of cracking include (but are not limited to) any attempts to disable tests, to alter tests so that they always pass, or to write your code so that tests pass even though the code does not accomplish the larger goal set out in the description of the work to be done. The first time you are caught ‘cracking’ a test, you will get a grade of zero on that assignment. If you are caught cracking assignments a second time, you will also get a zero on that second assignment. On the third time, you will be given the option of either withdrawing (if the drop deadline hasn't been passed) or taking a "0.0" for the term. This is the ‘three strike’ rule for cracking. Furthermore, if the instructor detects that you have cracked (or attempted to crack) an assignment, the instructor will go through all your prior work in an effort to detect other instances of you cracking tests. These prior offenses will count towards the ‘three strike’ rule, as explained above.

Late Policy: Any work that is not submitted to the instructor for grading will be assigned a grade of "0". The general policy for work that is submitted electronically is that work is not late until the instructor goes to grade the work and finds it to be missing. In practical terms this means that if the instructor hasn’t graded something yet you can (typically) still upload the work and have it be graded as if the work had been handed in on-time (i.e., penalty-free). The instructor will wait until the work is due to grade it (of course), but makes no guarantees about waiting any longer than that. In other words: for work that the instructor has not yet graded you can take your chances that the instructor will be late enough for you to get the work done and submitted but if the instructor grades it before you can finish (or submit) the work then you will get the zero for not having it in on time. Due Date Extension Policy: Each student will be allowed a number of homework extensions, to be used when each individual student decides to use it. Each extension has a time limit (for example, 24 hours) and once the extension is used it cannot be used again. In order to use the extension you must do the following: 1. Upload the work to StudentTracker (normally to the same slot as the original submission – so your PCE 01 extension would be uploaded to the PCE01 slot, just like the original PCE01 submission) 2. If you can, email the professor and explain that you wish to use one of your extensions. This step isn’t strictly required (because the professor should notice the submission in StudentTracker) but it’s good to do anyways.

The exact details about how many extensions you have (and how long each extension is) will be communicated via the course website. You can check how many extensions you have remaining using the StudentTracker web application. Please note that homework extensions have a hard deadline (i.e., once the deadline has passed no further uploads will be accepted, even if the instructor hasn’t finished grading the extensions at that time). Homework Assignments: General philosophy: These are more substantial projects, and should be handed in on time. If you miss the initial version, I'll grade the assignment, but as the one-and-only version (i.e., you don’t get a chance to do a revision). Exact Rules: If you don't have handed in the initial version of the homework assignment by the time that the instructor goes to grade it, then you can still hand it in on or before the deadline for the revision, and it will be graded without penalty but you will NOT BE ALLOWED TO REVISE that assignment If you haven't submitted a revision to a homework assignment by the time that the instructor goes to grade it then you will keep the initial grade for the homework (if you didn't submit the initial version either, this means that you will be get a zero for that assignment).

Warning: Today’s technology is inherently unstable: AOL might give you a busy signal, your ISP might be down, the public library might not be open, you might be unable to get Microsoft Word to do exactly what you want. While you might have this happen to you, it’s not an excuse for handing in an assignment late. Knowing this, you should include time in your schedule to compensate for possible technological snafus. This will allow you to hand in work on time, even in the fact of unexpected techno-faults. For assignments that have a hard deadline, no leeway will be given to students who fail to hand in an assignment because of technological problems.

For Hybrid students only: Class time will be used not just for lecture time, but also for various in-class activities that you will be expected to participate in. Thus, attendance is mandatory; roll call will be done at the start of each class. If you show up on time for all classes, stay for the entire class, and actively participate in the in-class activities and do well on the quizzes, you should receive the full points allotted to this category. Class participation will be assessed in the following manner: 1. at the beginning of class there will be a short quiz on the contents of the previous lecture, worth 2 points. 2. If you do a reasonable job of correctly completing the In Class Exercises, you will get another 8 points, for a total of 10 points per day. The two most important aspects of doing the ICEs are that you are doing a reasonable job for your ability level, and that you are learning the material. No matter how many lectures there are, you will receive no more than 200 total points from the In Class Activities category.

Table 1: Grading Scale: GPA Min. Percent GPA Min. % GPA Min. Needed % 4.0 95 2.8 83 1.6 71 3.9 94 2.7 82 1.5 70 3.8 93 2.6 81 1.4 69 3.7 92 2.5 80 1.3 68 3.6 91 2.4 79 1.2 67 3.5 90 2.3 78 1.1 66 3.4 89 2.2 77 1.0 65 3.3 88 2.1 76 0.0 <65 3.2 87 2.0 75 3.1 86 1.9 74 3.0 85 1.8 73 2.9 84 1.7 72

I would like you to electronically submit all assignments. You should type all assignments & homework answers into the computer (including essay type questions), make sure it runs correctly, and submit the files for any given assignment. More details will be given in individual assignments. Attendance You are responsible for what goes on in class whether present or not. You are responsible for making up any work, assignments, quizzes, etc., for missed classes.

Attendance is very important, since the course is structured to require active involvement and participation on the part of the student. Missing a class means missing material that is difficult to make up. Daily attendance records will be kept.

If you must miss a class, you will have to arrange to get the class notes and any other information from another person. I suggest that once you get to know some people in the class, you exchange phone numbers with one or two, so if you do miss a class you can obtain assignments, quiz information, etc., for the following class. Other Notes I reserve the right to modify any and all aspects of the course, at any time, including this syllabus.

In general, the final exam in this class will NOT be returned to students. You may request to view your completed, graded exam for a reasonable, short amount of time in the instructor’s presence, but you will not be given the final, nor may you make copies of the final exam.

Cascadia College Syllabus Learning Agreement

Pluralism and Diversity: Cascadia believes in pluralism, an intentional culture where everyone's history contributes to the collective success of our community.

Cascadia is committed to creating a supportive environment for a diverse student, faculty, and staff population. Individual differences are celebrated in a pluralistic community of learners.

Cascadia does not discriminate on the basis of race, color, religion, gender and/or sex, sexual orientation, national origin, citizenship status, age, marital or veteran status, or the presence of any sensory, mental or physical disability, or genetic information, and is prohibited from discrimination in such a manner by college policy and state and federal law. The following office has been designated to handle inquiries regarding non-discrimination policies and can direct inquiries to the appropriate office for ADA- related requests: Director of Human Resources, Office CC2-280, 425-352-8880.

Title IX: Title IX of the Education Amendments of 1972 prohibits discrimination on the basis of sex in education programs or activities that receive Federal financial assistance. In compliance with Title IX, Cascadia is committed to providing an educational environment free from sexual harassment, including acts of sexual violence or sexual assault. The College is equally committed to ensuring that those who raise complaints or participate in the investigation and resolution of complaints are free from retaliation. To raise a complaint or voice a concern with Cascadia's compliance with Title IX, contact Martin Logan, Executive Director of Human Resources, at [email protected] or 425-352-8262.

Academic Honesty: The College regards acts of academic dishonesty, including such activities as plagiarism, cheating and/or/violations of integrity in information technology, as very serious offenses. In the event that cheating, plagiarism or other forms of academic dishonesty are discovered, each incident will be handled as deemed appropriate. Care will be taken that students’ rights are not violated and that disciplinary procedures are instituted only in cases where documentation or other evidence of the offense(s) exists. A description of all such incidents shall be forwarded to the Student Conduct Officer, where a file of such occurrences is maintained. The Student Conduct Officer may institute action against a student according to the college’s disciplinary policies and procedures. Click here to see the policies and procedures in the Student Handbook.

The academic honesty plan is explained in the section on ‘Assessment’

Student Rights and Responsibilities: Cascadia is a student-centered college, operated to provide knowledge and skills for the achievement of learners’ academic, professional and personal goals. Inherent in the college’s mission are certain rights and freedoms needed for learning and personal development. Admission to Cascadia provides these rights to students, and also assumes that students accept the responsibility to conduct themselves in ways that do not interfere with the purposes of the college in providing education for all of its learners. For the complete policy, see the Student Code of Conduct in the Student Handbook.

Learning Assistance Options: To support student success, Cascadia offers a variety of support services. The Open Learning Center, CC2-060, provides a computer lab where students can receive assistance with technology to support class assignments. Students are encouraged to utilize the Math and Writing Center, located in CC2-080. Tutors will work with students focusing on math concepts and writing assignments. Click here for hours and contact information for the Math and Writing Center.

Online Tutoring and Writing Assistance: Cascadia provides online access to live tutors in a variety of subjects, provided by the Western e-Tutoring Consortium. Tutoring is offered through live, interactive sessions and through an Essay Center. Many subjects have convenient tutoring hours late into the evening and seven days a week, depending on tutor availability; schedules are available online. To get started, visit the eTutoring Consortium.

Disability Support Services: Cascadia provides services to help students with disabilities successfully adapt to college life. Students who meet specific criteria may qualify for reasonable academic accommodations. If you have or suspect you have a disability and need an accommodation please contact the DSS Office at 425-352-8128 to make an appointment, or email us at [email protected]. Services and Accommodations through DSS are not retroactive. It is the student’s responsibility to approach the faculty member with the accommodation letter as soon as it is issued from DSS.

Counseling services: If you have a personal problem or stress that is affecting you and would like to talk with someone, please contact UWB’s Mental Health Counseling Center. Counseling at Cascadia (provided through UWB) is confidential, professional and free (six sessions). Visit the Counseling Center front desk Monday through Friday, 8:30 a.m. to 5 p.m. or call 425-352-3183 for an appointment. The number for a 24- hour Crisis Line is 206-461-3222.

Advising: Students should schedule an appointment to meet with an advisor to consult about classes and degrees, and to create a tentative education plan. They can call 425- 352-8860 or come to the Kodiak Corner to make an appointment. Appointments are not made via email. At the time of the appointment, they need to indicate which degree they are pursuing. See the Cascadia website for information about Drop-In Advising hours.

Online Advising: Email advising is available at [email protected]. Our distance advisor can answer most questions via email, but we don’t schedule advising appointments via email.

Campus Closures and Inclement Weather: Information about FlashAlert, Cascadia’s emergency notification system, is available at http://www.cascadia.edu/services/emergency/alert.aspx. The site includes instructions for subscribing to alerts. In the event of a campus closure, instruction for this class will continue in the following way:

School closure plan (this includes inclement weather, pandemics, earthquakes, etc): If the college closes during our class time, detailed instructions on how you will make up the work will be provided online.

In the event of inclement weather affecting morning classes, there will be notification on the local media by 5:30 a.m. You may also call the main campus number: 425-352- 8000 to hear a message that will be updated with the latest Cascadia closure information. Should the weather deteriorate during the day, you may check online, listen to the main campus message, check email or the media to hear news about closures or class schedule changes.

Emergency Procedures: Emergency procedures are posted in each classroom. To reach campus security personnel, dial 425-352-5222. City of Bothell fire and police may be reached by dialing either 9-9-1-1 or 9-1-1 from any campus phone. Campus emergency phones are located on campus walkways and parking lots.

Acceptable Use Policy on Information Technology: In general, the same ethical conduct that applies to the use of all college resources and facilities applies to the use of Cascadia’s systems and technology. These systems may only be used for authorized purposes, using only legal versions of copyrighted software, and with consideration and respect for the conservations of resources and the rights of other users. For additional information, see the online version of the Student Handbook or go to the Open Learning Center for assistance with any questions.

Family Education Rights and Privacy Act (FERPA): Cascadia College complies with the Family Education Rights and Privacy Act (FERPA) of 1974 concerning the information that becomes a part of a student’s permanent educational record and governing the condition of its disclosure. Under FERPA, students are protected against improper disclosure of their records. See the student handbook for details

Responsibilities Instructor Student Show respect for the thoughts, Show respect for the thoughts, ideas, and ideas, and contributions of others. contributions of others. Come to class prepared. Come to class prepared. Create opportunities for active Participate in class discussion and in-class learning. activities. Provide timely and constructive Complete assessments in a timely and critique of assessments. professional manner. Solicit and act on feedback from Provide constructive feedback to instructor on students. the classroom-learning environment.

There is a schedule of topics for the class available online, on the course home page.

Recommended publications