Description
The main goal of this course is to learn how to decompose problems and solve them with a program and do this in an effective manner that enables your future self and others to read, understand, and maintain your programs. Other goals include learning a second programming language (Java), learning decomposition and debugging strategies, and learning GUI event-driven programming (JavaFX).
Learning Objectives
* When provided a project specification, students will be able to decompose the solution into subproblems and iteratively develop the project using multiple interacting classes, class inheritance, hierarchical data structures, and/or event-driven programming.
* Given their own decomposition into subproblems, students will be able to use data structures provided in libraries (i.e., hash table, tree, and graph), common algorithm patterns (i.e., exhaustive search, divide and conquer, branch and bound, and heuristic), unit testing, and debugging to write a correct solution to each subproblem and integrate the subproblem solutions into a complete working project (currently using Java).</li>
* When provided example solution components and a rubric, students will be able to evaluate the decomposition, clarity, performance, and style of a program.
* Students will be able to compare and contrast programming in two programming languages (currently Python and Java).
Given usage examples and documentation, students will be able to provide graphical user input and output for programs (currently using JavaFX).
Learning Objectives
* When provided a project specification, students will be able to decompose the solution into subproblems and iteratively develop the project using multiple interacting classes, class inheritance, hierarchical data structures, and/or event-driven programming.
* Given their own decomposition into subproblems, students will be able to use data structures provided in libraries (i.e., hash table, tree, and graph), common algorithm patterns (i.e., exhaustive search, divide and conquer, branch and bound, and heuristic), unit testing, and debugging to write a correct solution to each subproblem and integrate the subproblem solutions into a complete working project (currently using Java).</li>
* When provided example solution components and a rubric, students will be able to evaluate the decomposition, clarity, performance, and style of a program.
* Students will be able to compare and contrast programming in two programming languages (currently Python and Java).
Given usage examples and documentation, students will be able to provide graphical user input and output for programs (currently using JavaFX).
General Information
Lecture Location
Center for ESL, Room 102
Course Meeting Dates
January 10, 2018 through May 2, 2018
Lecture Days and Times
Mon, Wed, Fri: 1:00pm to 1:50pm
Section and Lab Times
Monday 2-3:50pm, Ali Gilliland, algilliland@email.arizona.edu
Monday 4-5:50pm, Devon Oberdan, devonoberdan@email.arizona.edu
Tuesday 8-9:50am, Jordan Siaha, jordansiaha@email.arizona.edu
Tuesday 10-11:50am, Kyle K. Block, blockie@email.arizona.edu
Tuesday 12-1:50pm, Maxwell Faridian, maxwellfaridian@email.arizona.edu
Tuesday 2-3:50pm, Theodore Sackos, theodorejsackos@email.arizona.edu
Tuesday 4-5:50pm, Hannah Parraga, hannahparraga@email.arizona.edu
Students are required to attend the first hour of section for which they have enrolled. The second hour of section will be a lab with staff from the course available for questions.
Tuesday January 16th there will be lab sessions during the normal section times for assistance setting up software for the class on your personal laptop. If you are enrolled in a Tuesday section, attend that section. If you are in one of the Monday sections, you can attend any section. These lab sessions on Tuesday January 16th are NOT required due to the preceeding Monday holiday.
Monday 4-5:50pm, Devon Oberdan, devonoberdan@email.arizona.edu
Tuesday 8-9:50am, Jordan Siaha, jordansiaha@email.arizona.edu
Tuesday 10-11:50am, Kyle K. Block, blockie@email.arizona.edu
Tuesday 12-1:50pm, Maxwell Faridian, maxwellfaridian@email.arizona.edu
Tuesday 2-3:50pm, Theodore Sackos, theodorejsackos@email.arizona.edu
Tuesday 4-5:50pm, Hannah Parraga, hannahparraga@email.arizona.edu
Students are required to attend the first hour of section for which they have enrolled. The second hour of section will be a lab with staff from the course available for questions.
Tuesday January 16th there will be lab sessions during the normal section times for assistance setting up software for the class on your personal laptop. If you are enrolled in a Tuesday section, attend that section. If you are in one of the Monday sections, you can attend any section. These lab sessions on Tuesday January 16th are NOT required due to the preceeding Monday holiday.
TA Lab Hours in 930
Fridays 11am to 12:30pm
Instructor Office Hours in G-S 707
Wednesdays 4:30-5:30pm
Thursdays 1:45-2:45pm
Thursdays 1:45-2:45pm
TA Office Hour in 903
Thursdays 1-2pm
Name | Office Hours | |
---|---|---|
Alex Romero | When? Where? | |
Theodore Sackos | When? Where? | |
Maxwell Faridian | When? Where? | |
Jordan L. Siaha | When? Where? | |
Ali Gilliland | When? Where? | |
Dr. Michelle Strout | When? Where? | |
Devon Oberdan | When? Where? | |
Kyle Block | When? Where? |
Class Meeting Notes (Lecture)
Class Meeting Notes (Lecture)
Class Date
May 2, 2018
Apr 30, 2018
Apr 27, 2018
Apr 25, 2018
Apr 23, 2018
Apr 20, 2018
Apr 23, 2018
Apr 16, 2018
Apr 25, 2018
Apr 23, 2018
Apr 20, 2018
Apr 18, 2018
Apr 16, 2018
Apr 13, 2018
Apr 13, 2018
Apr 11, 2018
Apr 9, 2018
Apr 4, 2018
Apr 6, 2018
Apr 4, 2018
Apr 2, 2018
Mar 30, 2018
Mar 23, 2018
Mar 26, 2018
Mar 26, 2018
Mar 26, 2018
Mar 23, 2018
Mar 19, 2018
Mar 2, 2018
Mar 21, 2018
Mar 19, 2018
Mar 16, 2018
Mar 14, 2018
Mar 12, 2018
Feb 28, 2018
Feb 28, 2018
Feb 26, 2018
Feb 26, 2018
Feb 23, 2018
Feb 21, 2018
Feb 19, 2018
Feb 19, 2018
Feb 12, 2018
Feb 12, 2018
Jan 26, 2018
Feb 9, 2018
Feb 9, 2018
Feb 7, 2018
Feb 7, 2018
Feb 7, 2018
Feb 5, 2018
Feb 2, 2018
Jan 31, 2018
Jan 31, 2018
Jan 29, 2018
Jan 24, 2018
Jan 29, 2018
Jan 26, 2018
Jan 24, 2018
Jan 22, 2018
Jan 22, 2018
Jan 19, 2018
Jan 19, 2018
Jan 12, 2018
Jan 10, 2018
Jan 12, 2018
Jan 10, 2018
Reading Assignments
Reading Assignments
Due Date
Apr 25, 2018
Apr 18, 2018
Apr 11, 2018
Apr 11, 2018
Apr 4, 2018
Apr 4, 2018
Mar 21, 2018
Mar 21, 2018
Mar 14, 2018
Mar 14, 2018
Feb 21, 2018
Feb 21, 2018
Feb 7, 2018
Feb 7, 2018
Jan 31, 2018
Jan 31, 2018
Jan 24, 2018
Jan 24, 2018
Jan 17, 2018
Jan 17, 2018
Jan 17, 2018
Sections
Sections
Section Date
Apr 3, 2018
Mar 12, 2018
Mar 20, 2018
Drills
Drills
Due Date
Mar 2, 2018
Feb 2, 2018
Jan 26, 2018
Jan 19, 2018
Jan 12, 2018
Programming Assignments
Programming Assignments
Due Date
Apr 30, 2018
Apr 16, 2018
Apr 9, 2018
Mar 26, 2018
Mar 19, 2018
Feb 26, 2018
Feb 12, 2018
Feb 5, 2018
Jan 29, 2018
Jan 22, 2018
Peer Reviews
Nothing has been added to the Peer Reviews section, yet. Stay tuned!
Tutorials
Tutorials
Date to know by
Mar 31, 2018
Jan 9, 2018
Jan 9, 2018
Jan 9, 2018
Jan 9, 2018