Don't wanna be here? Send us removal request.
Text
CS373 Fall 2022: Evelyn Vo: Final Entry
How well do you think the course conveyed those takeaways? I think the takeaways were conveyed well when they were being taught but I honestly don't think I retained them that well.
Were there any other particular takeaways for you? Most of my takeaways are technical skills I learned while working on the IDB project, especially with React. I had no experience in React beforehand and most of my work for IDB was on the back end but I had groupmates that were already experienced in React and wrote good code that I could just pick up where they left off and contribute well.
How did you feel about cold calling? Cold calling did and still makes me nervous. I don't really like answering questions about myself. I felt that the question about people's internship experience over the summer could be alienating to those who were not able to intern or who worked for lesser known companies and that it could create an elitist environment. Maybe avoid asking this kind of question in the future.
How did you feel about specifications grading? It didn't change my approach to the assignments in this class compared to any other CS course. I always just tried to get every requirement down possible. Sometimes my group would get a 2/3 unexpectedly on an assignment where we knew we were missing some key components so maybe spec grading is more forgiving than we thought but I never tried to calculate my actual grade.
How did you feel about help sessions and office hours? I didn't go to any help sessions or office hours.
How did you feel about the support from the TAs? I liked working with Canyon who was in charge of checking in with our group. Canyon offered us help whenever we were stuck with something and provided us with some great resources during the project development.
You should have read five papers that describe SOLID design: Single Responsibility, Open-Closed Principle, Liskov Substitution, Interface Segregation, and Dependency Inversion. What insights have they given you? I vaguely learned most of these principles on the job during my internship this past summer, so these papers gave me better insight into the reasoning behind the design principles.
You should have read two papers that advised minimizing getters and setters. What insights have they given you? Sometimes I would write getters and setters just because I had always done them for every other class definition I was writing. These papers taught me that if it isn't necessary, don't do it.
What required tool did you not know and now find very useful? AWS. Although it was very difficult to set up, I think it was an important tool to learn and I'm glad I got to experience creating a fully functioning website with it.
What's the most helpful Web dev tool your group used that was not required? The mui/material library. This library has many pre-made UI components for input data that were easily customizable. I think this library provides a lot of React components that will save time during front end development in future projects.
How did you feel about your group having to self-teach many technologies? I didn't really like it. Although the experience was useful and would provide me with material for future interviews, it made signing up and coming to this class very pointless. The lectures about python and relational algebra were the most useful to me but they felt irrelevant to the IDB project. I think if I had the motivation and idea, I could have done this project and self teach myself all the tools I needed to and take a different CS course instead (or do it all in an internship and get paid to do it). I think if the teaching staff had a hand in teaching or at least introducing us to the tools necessary for the projects, it would have felt more worthwhile coming to class. If you teach/introduce any tool in this class, I think it should definitely be how to set up the AWS instance considering how so many teams struggled to stay within Amazon's free tiers. The added stress of being billed $200+ and trying to get that money back along with working on the project and no accountability by the teaching team seems like it could all be avoided with a little guidance on how to set the free tier limits. I remember trying to set up our team's API endpoint and had no idea where to start. I didn't know what I had to google to even start and don't think I would have ever figured out that I had to set up an Elastic Beanstalk instance along with an API Gateway without my roommate who had already learned these things from working at Amazon.
In the end, how much did you learn relative to other UT CS classes? I learned more technical skills in development technologies than in other classes which I liked, but it felt like I was thrown into the deep end of the pool. I would have preferred a more guided learning experience.
In addition to the questions above, I wanted to mention that my roommate had a female friend take this class and felt discriminated by her group mates. She had gone to the teaching staff about this problem and received no support. We recently read a paper about sexism in the software industry and had a guest speaker bring awareness to this issue for our class. I find it hypocritical that we're told how important it is to support women in this industry yet women don't seem to get that support from the teaching staff. Being so mistreated before our early career even starts contributes to less and less women staying or moving up in the tech industry and if the teaching staff cares about this issue, they should provide better ways to empower their female students.
0 notes
Text
Blog 13
What did you do this past week?
I had an interview this past week and have been preparing for Thanksgiving break by cleaning my apartment. A lot of my classes have assigned final presentations for our projects so I've also been working on sorting out the tasks involved with finishing those.
What's in your way?
Right now nothing is in the way. I think I'll only have trouble finding the motivation to actually get work done through the holiday.
What will you do next week?
I will begin working on phase 4 tasks as well as working on projects and presentations for my other classes. I also have some car issues to sort out while I'm at home. Other than that, I will also be visiting family and trying to enjoy the holidays.
What did you think of Paper #13. What Happens to Us Does Not Happen to Most of You?
I think this paper discusses an important topic in the software engineering industry. While I have not had any serious issues so far, I'm worried that I eventually will and I'm not sure how I will react to it or handle it, so I hope everyone takes this topic seriously so that the industry culture is improved in the future.
What was your experience of the Strategy Pattern, Reflection, and security talk? (this question will vary, week to week)
I had not experienced the Strategy Pattern or Reflection before but I found the topics useful for software development. The security talk was interesting to me because I used to be involved with cybersecurity competitions so it was nice learning about some hacks in more depth.
What made you happy this week?
My friend and I went to a concert in Fort Worth. It was very fun but I caught a cold upon returning.
What's your pick-of-the-week or tip-of-the-week?
Try to get any work you've been assigned over the break out of the way early! That way you can enjoy your break without worrying about any school work and can return to classes without having to play catch up on assignments.
0 notes
Text
Blog 12
What did you do this past week?
I implemented sorting on our website for all our models. I used code from the old team Get That Bread.
What's in your way?
I have a pretty week this week so I'm not sure if I'll be able to dedicate as much time to this project but my own tasks are finished.
What will you do next week?
I will be preparing for an interview on Thursday. My own tasks for IDB are finished but if my team needs support, I might be able to offer it if I have the time.
What did you think of Paper #12. Why extends is evil?
I've seen how Java implements the standard classes (i.e. using Collections or List interfaces over base classes) so this concept was familiar but I never really thought about or understood it. I'm glad this article was able to explain why interface implementation is preferable over extends.
What was your experience of the refactoring, UML, and ethics talk? (this question will vary, week to week)
I appreciated learning about UML design because the systems engineers on my team this past summer used it to design our software. The ethics talk was interesting because the information felt relevant to how we should think about our future careers.
What made you happy this week?
My friends and I worked on building a lego set together. It was nice being able to do something simple and fun with them.
What's your pick-of-the-week or tip-of-the-week?
My tip of the week is to utilize old team's code in your IDB projects. A lot of my team's code is taken from past groups. These resources give you a better idea of how to do something such as sorting, searching, or filtering. The groups I usually look at are Get That Bread or Animal Watch.
0 notes
Text
Blog 11
What did you do this past week?
I fixed up some of our API endpoints so that they were more accurate and could handle parameters for pagination. This will be useful in the future when we start implementing filtering and searching. Other than that I've been working on a project for my other class so most of my time has been dedicated to that.
What's in your way?
Right now nothing is in my way for this class. My other class has a deadline coming up though so I will be more concentrated on making that deadline.
What will you do next week?
I have a job interview coming up and the deadline I mentioned for my other class so I will be concentrating on those things for the first half of the week. After that, I'll get started on my tasks for Phase III.
What did you think of Paper 11. More on getters and setters?
I initially thought it was a little redundant to discuss this topic again, but the paper introduced the Builder pattern which I found pretty interesting. I had seen examples of the Builder pattern at work for immutables before.
What was your experience of the SQL, joins, and subqueries? (this question will vary, week to week)
I was not very familiar with SQL subqueries and joins so the exercise was a little difficult but I eventually got it. I think these might be pretty useful queries for filtering our instances for our project.
What made you happy this week?
My friends and I had a picnic where we got to hang out outdoors and had a water balloon fight and play volleyball. It was pretty relaxing.
What's your pick-of-the-week or tip-of-the-week?
This is probably super late into the game, but something I wish my team had thought about was forking our project repository and working on separate repos instead of all on one repo. It seemed like it was just a lot less complicated and less hassle but now we are running out of build time on our CI/CD pipeline.
0 notes
Text
Blog 10
What did you do this past week?
I refined one of our API endpoints so that it could send both all players and take in some parameters to return a certain number of players (pagination).
What's in your way?
Nothing as of now.
What will you do next week?
I will add some new unit tests to our gitlab pipeline once my teammates who are in charge of writing those finish.
What did you think of Paper 10. Why getter and setter methods are evil?
I was surprised that there was such a strong argument against using accessors but it makes sense. Why let another class access or change your fields if it's not necessary? I thought getters might be harmless but this article made me realize that return types also influence the maintainability of a class.
What was your experience of the cross join, theta join, and natural join? (this question will vary, week to week)
I had never used any of these methods before but it was interesting to learn about them and how they are implemented. I liked that there's a lot of overlap in the logic and that they can be reused.
What made you happy this week?
My friends and I went out for Halloween.
What's your pick-of-the-week or tip-of-the-week?
Get started on phase 3 early! Our team made the mistake of starting phase 2 off a little late which made things more difficult down the line.
0 notes
Text
Blog #9
What did you do this past week?
I implemented the back end API for our website and set up a hosting environment for it on AWS Elastic Beanstalk. I also updated our Postman documentation to include example JSON responses.
What's in your way?
Currently nothing is in the way of my work.
What will you do next week?
I will support the rest of my team on the leftover front-end tasks where need be. I will also get us started on the technical report and any other last minute requirements for phase II.
What did you think of Paper #9. The Dependency Inversion Principle?
I think the dependency inversion principle is important because, like many of the papers we've read so far, it emphasizes the importance of a maintainable and portable design. When coding in Java, I see a lot of these principles being used in Java's standard library classes. For example, a PrintWriter requires an abstract Reader where Reader can either be a BufferedReader or FileReader. Both readers have the necessary functions that PrintWriter depends on to do what it needs to do.
What was your experience of the relational algebra, select, and project? (this question will vary, week to week)
I am familiar with select since it is one of the many queries used in relational databases to get data. Again through relational databases, I had an idea of what relational algebra is, but I never studied it in depth. I had never heard of the project function before.
What made you happy this week?
I hung out with my friends at a small get-together.
What's your pick-of-the-week or tip-of-the-week?
In addition to setting up your back end hosting environment with Elastic Beanstalk, you also need AWS API Gateway to actually publish your API endpoint and route it through your custom domain name. I did not know this existed but thankfully my roommate had used it before so she helped me a lot.
0 notes
Text
Blog #8
What did you do this past week?
This past week our group delegated the back end tasks of phase two among ourselves. I implemented the routing for the API calls that we have in our Postman documentation.
What's in your way?
I am waiting for our DB instance to be fleshed out in order to return the data we need in our API. I'm confused about how that back end is deployed however since AWS Amplify is only hosting our front end.
What will you do next week?
Implement our website's API and write unit tests, then move on to front end development for phase 2.
What did you think of Paper #8. The Integration Segregation Principle?
I understand the problem, but I think I'm having a difficult time understanding the ISP principle. It may simply just be "use multiple inheritance whenever necessary", but I could just be misinterpreting it because that seems like too simple of a generalization to the principle.
What was your experience of the eBay talk and decorators? (this question will vary, week to week)
The eBay presenters were engaging and fun to listen to. I wish we had more time to listen to the talk about AWS though since I feel like that was the most relevant to our work in phase 2. I don't have much experience with decorators, but as I was working on some code for my job, I realized a lot of our files utilized a singleton design pattern with what I think were class decorators in order to generate immutable objects which I thought was cool.
What made you happy this week?
One of my friends from back home came to Austin to visit and we had dinner together. It was nice being able to catch up with my friend briefly.
What's your pick-of-the-week or tip-of-the-week?
I recommend reading through the phase 2 resources provided by the TAs in EdStem because I feel like they provide a good starting point for the project and can help during the middle of development as well.
0 notes
Text
Blog #7
What did you do this past week?
This week our group turned in Phase I of our project but realized we missed a few items on the rubric so we went back and added the missing features.
What's in your way?
I think this next phase will be difficult because of all the new tools we're expected to use for the backend development.
What will you do next week?
Meet with the team to plan out our phase II approach and begin implementing all the features required for Phase II.
What did you think of Paper #7: The Liskov Substitution Principle?
I think the LSP principle is an important principle in software engineering and is what makes using open source software and third party libraries possible.
What was your experience of comprehensions, yield, and closures? (this question will vary, week to week)
I had never used any of these conventions before. I had never encountered them in Java or C/C++ before so these things seem unique to me.
What made you happy this week?
I went to a concert with my sister. It was a little stressful because I missed school for it but I had a lot of fun anyway.
What's your pick-of-the-week or tip-of-the-week?
My tip of the week is to keep up with the readings. Though it is kind of required when writing these blogs, I feel like the papers teach us the most about the principles of software engineering that we need to know for our careers. The paper on LSP also referenced paper #6 a lot so keeping up with the readings will help you stay up-to-date with the most relevant information for each upcoming paper.
0 notes
Text
Blog #6
What did you do this past week?
I worked on the environment set up and backend for our IDB project, including setting up the AWS deployment and writing a .gitlab-ci.yml file for our pipeline.
What's in your way?
At first I was confused on what a JSON schema was and what I needed to do with it, but Canyon helped us out. Now I just need to write it, but work for other classes have just gotten in the way of that.
What will you do next week?
Hopefully close out all our issues for Phase 1 and turn in a working project for the first phase.
What did you think of Paper #6: The Open-Closed Principle?
I think it talked about a very important concept in OOD. When I was first learning Java and OOP, I didn't understand why some variables needed to be private, but I think this paper explained it well. You don't want another entity to change variables that you control and rely on to function properly.
What was your experience of operators, iterators, and generators? (this question will vary, week to week)
I learned that python iterators have a lot of special functions and properties that make it extremely useful. I had never used generators before so knowing how they work was very interesting.
What made you happy this week?
I got to celebrate my friend's birthday with her. We went to Austin Karaoke.
What's your pick-of-the-week or tip-of-the-week?
If possible, consider splitting your team up between front end and back end for this phase and then switching teams around in later phases. A lot of our team members have had little experience in both ends so are open to tackling either one. Since everyone is here to learn something new, I thought it might be beneficial for us to be able to work on both front end and back end aspects of the project. Not sure if this will work out in the long run but it might be something to keep in mind.
0 notes
Text
Blog #5
What did you do this past week?
I met with my group and Canyon to write our proposal and discuss the expectations of the project.
What's in your way?
Scheduling conflicts, trying to figure out when best to meet with the group next to work on the project.
What will you do next week?
Start on creating the static web pages for our project.
What did you think of Paper #5: The Single Responsibility Principle?
I think SRP is an important principle and should be one of the rules that drives design and development. It's important to create dedicated classes to manage a singular responsibility not only because it is avoid unnecessary future complications, but also because it makes it easier to find all the relevant pieces of code in one place in the future. SRP makes code sustainable and maintainable.
What was your experience of reduce and methods vs. functions? (this question will vary, week to week)
I never understood the difference between methods and functions before this class, so I'm glad we had an in-depth lecture about it. I had never used reduce functions before, but they seem very useful. Understanding the underlying system for python functions is important because it changes your proficiency with it from "familiar" to "fluent".
What made you happy this week?
I finally got a new set of contacts so I don't have to wear my glasses all day again. Wearing them all day starts to weigh down on my face.
What's your pick-of-the-week or tip-of-the-week?
I learned this from Canyon during our group meeting with them, but Canyon highly recommended we use React to create our web pages because a lot of it will be repetitive HTML that we wouldn't want to manage ourselves.
0 notes
Text
Blog Entry 4
What did you do this past week?
This week I was able to implement the meta cache and reliably pass the HackerRank tests. I finished the Collatz project and submitted it to canvas.
What's in your way?
Right now there is nothing in the way of finishing the first project.
What will you do next week?
I will be focusing on creating a proposal with my team for Project #2.
What did you think of Paper #4: Pair Programming?
I thought it discussed an important topic in the software engineering industry. I think a lot of our university classes discourage collaboration on code because of Academic Honesty policies, but this starts to alienate us from the idea of coding together. Pair programming was used often in my internship and was when my team was the most productive. Using pair programming, my co-worker and I finished an MVP tool in just two days.
What was your experience of containers and iterators? (this question will vary, week to week)
I was always aware of these containers in Python but I wasn't too familiar with them so I appreciate that I got to learn more about how they work in Python. I learned about iterators in CS314. It's interesting to see how Python relies on containers implementing iterators correctly to make sure they work without any kind of checks.
What made you happy this week?
I went home for the weekend and visited my family.
What's your pick-of-the-week or tip-of-the-week?
As we start going into our projects and exploring APIs, I highly recommend looking into a JSON parsing library so you can extract data from API responses. The ones I used the most were Jackson and GSON. These both have Java libraries (although I'm not sure if we're allowed to use Java for our projects or not).
0 notes
Text
Blog Entry #3
What did you do this past week?
This past week I unfortunately did not work on project 1 at all. I have been working on assignments for other classes, but I will catch up in this class soon!
What's in your way?
I still am unsure how I want to implement the meta cache. Besides that, I still don't know how I will write my unit tests because I can't think of any corner cases, but I also just don't want to simply add in random number as unit tests.
What will you do next week?
The project is due tomorrow so I will need to finish it by then. I don't know what's next for this class but maybe we will be starting our group projects soon.
What did you think of Paper #3: Continuous Integration?
I learned about continuous integration at my internship last summer and I thought it was a great idea! I think it's pretty simple to set up and easily establish a workflow for everyone to follow.
What was your experience of exceptions, lists, tuples, and int caching? (this question will vary, week to week)
I worked with exceptions in Java before but never in Python but I think they both behave similarly. Whenever I write in Python, I find that I use lists a lot but I hardly ever use tuples. There haven't been many situations where I have needed to use them. Int caching in Python is completely new to me. I didn't know the language had such a system but I think it's a great way to save space in memory.
What made you happy this week?
My friend and I bought matching collectible figures at Kinokuniya. They were blind boxes so it was fun to see what we both got.
What's your pick-of-the-week or tip-of-the-week?
Git tags! When we start working on our group projects, I think git tags will be a great way to keep track of the best versions of our code (i.e. the last submittable version of the code). I used git tags for the first time this summer and after that I started noticing how a lot of open-source software will tag their releases in their GitHub repos just so they are easier to find. Each release/tag is also associated with release notes so you know what the version of code you're using is capable of!
0 notes
Text
What did you do this past week?
I worked on setting up my GitLab repo for the Collatz project and working on closing out some of the issues I created for the project. I got up to implementing the optimizations introduced in quiz 4 and submitted my code to HackerRank.
What's in your way?
I'm having a hard time figuring out edge cases that I could write unit tests for. I feel like since I can't think of many edge cases, I'll just end up writing tests with random numebers.
What will you do next week?
Write the meta cache that was discussed in class this week to hopefully improve my runtime. I just passed all three cases on HackerRank but I think I just got lucky on the third test this last submission, so I want to make the results more consistent if possible.
What did you think of Paper #1: Syllabus?
I was a little confused on the requirements of the assignment beyond "annotate it". For example, I didn't know how many annotations we needed to leave or how many comments we needed to respond to etc to get full points from Perusall.
What was your experience of assertions, unit tests, and coverage? (this question will vary, week to week)
I gained a lot more experience using unit tests this past summer during my internship. I used the JUnit framework for Java so the python unit test framework is familiar. I used SonarQube this past summer for coverage which provided an extremely detailed report on the team's source code coverage so I'm glad I get to use more coverage tools for this class.
What made you happy this week?
I bought tickets for me and my sister to go to a concert I've been wanting to go to.
What's your pick-of-the-week or tip-of-the-week?
For project 1, I am coding using a remote connection to the CS lab machines via VSCode. While working on the project, my checktestdata kept failing despite not having touched the test file and I realized it was because the files had carriage return, line feed (CRLF) line endings, but checktestdata was checking for just line feed (LF) line endings. My tip is to double check your system is using the new line method that checktestdata expects. In VSCode, you can switch between CRLF and LF by opening an editor for a file and there will be a button in the bottom right of the window with either CRLF or LF. Click on this and you can change it!
0 notes
Text
First Entry
Where did you grow up?
I grew up in Arlington, Texas.
What high school did you attend?
Martin High School.
What was your favorite extracurricular activity in high school?
UIL Competitive Programming.
Why did you come to UT?
The computer science program at UT is one of the best in Texas.
Why are you majoring in CS?
I felt like I was pretty good at it in high school so I just kept going with it.
Why are you in this class?
I think this class can teach me a lot about software engineering. I also wanted to be able to create a project outside of work from start to finish.
What are your expectations of this class?
I hope to gain experience working in a new team.
How much Javascript/Python/SQL/Web programming do you already know?
I don't know much, honestly, but I've used Javascript and Python a few times so I think I can learn enough fairly quickly.
How did you like the first lecture?
I was a little concerned when Professor Downing said he doesn't want us taking our own digital notes but hopefully I can handle it.
How did you feel about cold calling?
It's a little intimidating to me. It heightens my anxiety.
How do you feel about specifications grading?
I've never been graded with specifications grading so I'm a little nervous about it.
What made you happy this week?
Hanging out with my friends and getting food.
What's your pick-of-the-week or tip-of-the-week?
My pick of the week is SonarQube, which is a code coverage tool I helped my team at my internship integrate. It provides useful annotations on code smells, bugs, or security hotspots.
0 notes