<<

Computer Science reflection.

Due: Wednesday, 2 October

Requirement: write a 2 page paper that reflects on the learning you did in your computer science courses at Ithaca College with respect to computer science SLOs (1 through 5). The goal is to understand what you have learned in your 4 years at Ithaca College and how you have learned. After this year you will be required to learn on your own (this is called “self-regulated learning” or SRL). It’s best to be as efficient at this as possible, so the goal of this assignment is to consider how you did learn on your own and identify the process that you used. Was this the best method of learning?

References 1. Gibbs reflective cycle. See Reference->Reflection->Gibbs Reflective Cycle on the class web site. 2. Rubric. See Reference->Reflection->Rubric for reflective writing on the class web site.

Structure 1. You are to write a reflection (2-3 pages) that examines whether you met computer science SLOs 1 through 5. If you have not yet taken a course that covers an SLO, then skip that SLO. Note that you might have taken a course that introduces an SLO and you can use that course if you have not taken the final course. For example, if you have taken COMP 220 and not COMP 311, you can examine SLO 3 in light of COMP 220 only. 2. Hand in a written copy of this on the due date. 3. Do not just answer the questions. This reflection must be written as a narrative paper.

What is a reflection?

Reflective writing is:

• a way of thinking to explore your learning • an opportunity to gain self- knowledge • a way to achieve clarity and better understanding of what you are learning • a chance to develop and reinforce writing skills • a way of making meaning out of what you study

Reflective writing is not:

• instruction or argument learning • pure description, though there may be descriptive elements • straightforward decision or judgement (e.g. about whether something is right or wrong, good or bad) • simple problem-solving

Below are some questions to consider when writing your reflection. Your reflection should not be a list of answers to the questions, rather it should be an essay that considers your computer science education and what and how you have learned. The answers to these questions will provide you with material you need in your reflection.

1. Consider the computer science SLO’s 1 through 5 (see the Reference menu on the class web site).

a. For each SLO, explain what you think it means.

b. For each SLO, give an example of what you could do that would show that you achieve that learning objective.

. For each SLO, give an example of something that you did in class that shows that you met that learning objective.

d. For each SLO, explain what skills you would need to meet the learning objective.

e. For each of the above items, think about where you learned them. List all of the computer science courses that you have taken. For each item in a, b, c, and d above, where did you learn that technique? In a class? By talking to someone? At an internship or job with ITS? Did you talk about that concept in multiple classes?

f. If you had to learn a concept on your own, how did you learn about it? Google a tutorial? Check StackOverflow? Find a video on YouTube? Do you think this was the best way to learn that concept? How else might you have learned about the concept?

g. Reflection on your CS education in general. Do you think your CS education at Ithaca College prepared you for the types of projects you might encounter in a real job? What are you missing? Where could you get the missing pieces? How could you have learned the missing pieces while at Ithaca College?

h. What skills did you list in a, b, c, and d that you did not learn at IC? How could you have learned that skill/concept at IC? Done an independent study? An internship? How could you learn it now?

Example.

When I started the computer science program at Ithaca College I thought that all a computer scientist did was program. I had a programming class in high school and had learned some Java programming, but we didn’t spend much time thinking about concepts or design. In my first course at Ithaca College, Comp 17100, I was surprised at how much time we spent designing a program before we even thought about writing a program. This was also true in other courses, but it was in the software engineering course, Comp 34500, that I realized how important design was to the success of an app. There I learned that you can write an app that works flawlessly and yet the app is useless if it doesn’t do what the user requires. In this course we learned the process of designing, implementing, and testing apps and in particular learned how to use the agile process. I learned slack and version control with git hub, I practiced creating user and system requirements, and I was exposed to formal methods of working in a team. On an internship with XXX I saw all of these things as they were used in practice and saw how important they really are to a computer scientist.

The computer science SLOs 1 and 2 cover teamwork and implementing apps consisting of multiple components. In Comp 34500 and my internship, as I mentioned, I learned the skills and processes involved in teamwork and developing apps in conjunction with other developers, so I certainly feel like I’ve met that SLO.

Similarly, in both the project in COMP 34500 and in my internship I was part of teams that created many different software components that had to work together. For example, in the COMP 34500 project we created a desktop app in Java that connected to a database on a server. One part of the team created the desktop app and another created the web service that allowed the app to talk to the database over the internet and a third person created the database. One person did most of the work on the user interface for the app, while another created the logic in the app. There were 4 different software components that we integrated together using tools like github and using different IDE’s like Intellij and text editors like vim. Though much of the work on these components was done independently, in the end we had to integrate all the components into a single working app. To do this we had to be very specific about our system requirements and had to constantly coordinate the development of APIs to allow the different components to talk. We also had to do careful testing to ensure not only the individual components were bug-free but that the components interacted correctly (system testing) and that the app met all the user requirements. Understanding this process is what SLO 2 aims for and I believe that the Comp 345 project clearly demonstrates that I meet this objective.

Continue in this vein. Make sure that you address all three SLOs.