| Topic | Name | Description |
|---|---|---|
The class syllabus is attached. It includes the schedule, the grading scheme, and an explanation of the different types of activities the course will contain. |
||
A tentative schedule is below. |
||
There are two textbooks for this course. |
||
We will be using Eclipse in this class. Please install the Eclipse IDE, and the Java JDK. |
||
Don't just stare at your computer, reach out to get some help! You have options! |
||
| Interesting Articles | "The proliferation of navigation apps is causing traffic chaos. It's time to restore order." |
|
Defending the power grid from physical and cyber attacks. |
||
Fooling biological and computer brains. |
||
Interesting graph problem partially solved by an amateur mathematician. |
||
15 year old boy becomes so ill that doctors have to induce a coma. Months and hundreds of thousands of dollars worth of testing can't determine a diagnosis...then, the computer scientists step up to the challenge. |
||
The new touchscreen. |
||
These houses can be built for $4,000 allowing homes to be built for those who can't afford one. |
||
| Programming Projects | ||
| Week One: 8/25-8/29 | This semester our class will be participating in a National Science Foundation funded project titled “Extended BRIDGES: Addressing Preparation Gaps and Promoting Culturally Relevant Teaching to Support Diverse Groups in Early CS Courses”. We will be using the BRIDGES infrastructure for at least three of your homework assignments. BRIDGES provides students with a simplified API that allows them to populate their own data structure implementations with real-world data, spanning disciplines such as science, entertainment, multi-media, literature and social networks. Secondly, BRIDGES provides the ability for students to easily visualize the data structures that they have created as part of their routine classroom exercises, which can promote better understanding of the data structure and its underlying algorithms. The project team from UNC Charlotte would like you to participate by filling out an online survey after completing each of the homework assignments. The survey will take 5-10 minutes and will ask you a series of questions to provide feedback about the assignment, such as how relevant, interesting and engaging the assignments are and as well as how long it took you to do the assignment and whether it was related to your interest in computing. In addition, at the beginning and end of the semester you will also take an online computer experience survey that will test your readiness for learning about data structure/algorithm and any changes that occur throughout the semester. Your name will not be used on any of the surveys. Instead, I as the instructor, will assign a code that you will use every time you access the link to the Qualtrics website to respond to a survey. Your consent to participate is especially important as well because the project team will request from me your project grades and course grade. Again, let me emphasize that I will send that data with a student code rather than your name. Thus, your answers in the survey will have no bearing on your course grade. Your individual responses to the online surveys will be read only by a project evaluator who is not in computer science. She will send back summaries but not individual responses and your names will not be used for any of the surveys or data that are collected. I encourage you to participate because the benefits of participation are the opportunity to apply data structure concepts to real world data sets and to provide some baseline information about a new approach to teaching data structures/algorithms. If you are interested in participating, you must click on the Qualtrics link and fill out the informed consent sheet. |
|
Crash course on Java |
||
This is a simple Java program. We will walk through the different components as a class. |
||
| Week Two: 8/29-9/2 | Java data types including arrays and for loops. Brief intro in order to complete the group worksheet. |
|
This worksheet will be completed in class. If you are unable to attend, please complete the worksheet on your own and email it to me. |
||
Lecture slides about if statements and loops in Java. Also introduces ArrayLists. |
||
| Week Three: 9/5-9/9 | We didn't finish the lecture last week where I started talking about ArrayLists. I recorded a video covering that. |
|
Simple slides about Java Classes |
||
This video is a recording of the classes slides. |
||
Loops, ArrayLists, and Bankaccounts =) |
||
| Week Four: 9/12-9/16 | These are the code files for the Contact class and tester that we built in class. |
|
| Week Five: 9/19-9/23 | We completed the attached worksheet as a class. I have included a blank copy, the teacher's copy (it has an error), and library files you'll need to answer the worksheet questions. Please familiarize yourself with this information if you were not present. |
|
The attached code includes: Shape Please consider how you might extend Shape, Circle, and Rectangle to include some of the other methods in the handout from class. |
||
This is the code we wrote in class. We had a Circle and a Rectangle class that used the Java Graphics package and a JPanel to draw a square on the screen. It also has a ShapeTester class, which has the main method to draw the image. I challenged you to create your own shape (another class like Circle or Rectangle so maybe Triangle?) and draw a shape like a simple tree or car. |
||
| Week Six: 9/26-9/30 | We'll come back to doubly linked lists later. |
|
The code includes: Node I apologize for my mistakes in class. The code allows you to add elements to the end of the list and prints out the elements. |
||
This video goes over the intro to algorithm slides. |
||
Introduces the concept of algorithms and data structures. Repeats some of the linked list information to assist with the Snake program. |
||
| Week Seven: 10/3-10/7 | ||
This is from a textbook and goes into more detail on the math behind evaluating the runtime of an algorithm. We will talk more about this next week. |
||
| Week Nine: 10/17-10/21 | ||
| Week Ten: 10/24-10/28 | Slides outlining what a BST is and why we would use it as well as the pseudocode for creating a tree, inserting elements in a tree, and searching through the tree. |
|
Here are the files we wrote in class. You need to add the getter/setter for rightchild in BST_Node. There are three TODO items in BST. |