Posts

Showing posts from October, 2019

31st October 2019

Image
Today I had my networks and databases labs, these mostly covered the concepts that were brought up in the prior weeks including the idea of a 2 way handshake for encryption, the very bold concept of "The speed of light is slow but prime numbers are hard" and the introduction of SQL on its own using a client independent from Access. This lead into the databases practical where we were told to use the client pgAdmin to load and operate on a database. With this we were given varying tasks from using multiple selects to refine queries to generating views that could be used in future. Sadly I got stuck on exercise 4 due to its wording. It requested that you changed a specific employee's data using the query, many people simply used the side bar to find the employee and targeted her based on this. But I thought this solution wasn't scalable to a true database so I found the proper way with the tutors help which required multiple where and select statements to refine the sea...

30th October 2019

Image
Today I spent time working on Excel to get a summary of all Companies I am going to apply for, for my placement year. This is to keep track of what companies I have applied for, which ones I haven't, which ones don't even take placement students, and what the role applied for entails. This is due to the fact that a large majority of people I've asked about the process have spoke of how many companies simply don't reply when they reject an application. This will prevent me re-researching or reapplying to any companies that I've already queried.

29th October 2019

Image
In Today's graphics lecture, we were presented with the task of converting last weeks 2d graphics rendering project into a program that could receive a 3d MD2 object (presented as a cube) given to us by the lecturer. I had few problems with this as a large amount of the task was making sure the loader read in the correct values, but to get this all you have to do it put certain parameters on the variable watch list in the environment and make sure the program doesn't return -1 in the compilation console. I got this working fairly quickly. In networks and security, we began to move away from the networks side and started heavily focusing on the security side as the task entailed simply implementing a Caesar cypher and a Vigenere square. Due to talking with the lecturer about various topics including the documentation for the assessment (RFC 5321 ) I only got the Caesar cypher implemented but this time helped me compartmentalize the assessment and figure out what kind of tasks ar...

28th October 2019

Image
Today I finished off my multithreaded guessing game. having initially spent hours reading around all the syntax provided in the examples, I first removed all prior instances of the "search" action leaving it as a shell for communication between a server and a client without any purpose. After this, I put in the model for checking received input on the server-side and built a response model. Finally, I inserted the closing of the connection on the client side upon guessing the correct answer but with this, came the issue of the server throwing errors when the connection is ended. With research, I could not find a solution to this as all connection exceptions did not catch it. I plan to ask my networking tutor in his next session about this. After this I attended my graphics lecture where the lecturer explained how we are going to spend the next 2 tutorials applying the base of our 2d matrix in order to create 3d images that can rotate, scale and translate. The basic math was...

25th October 2019

Image
Today was one of the most hectic days of any I have had at university so far. The first part of the day consisted of my networking lecture, my P.A.T meeting (personal, academic tutor), and my database lecture. These were all fairly standard and did not pose too much information that was hard to comprehend. After this, though I had a conference call with an IBM employee about improving my cv and her opinion on what looks best on it. This was incredibly helpful as it provided my final cv template (to be edited for each company) that I would send to any companies I want to do my year of industrial placement with. After this, I had my first exam of the year, databases. I managed to get 70% in this test and upon finding out which questions I had messed up on, I was fairly happy with my results as it showed the parts of my studies that I had neglected. I plan to study these areas much more thoroughly for my next test in week 8.

24th October 2019

Image
Today is the day the lecturer for graphics has scheduled the replacement for his lecture and tutorial from Monday and Tuesday, during which I worked on my networks and security, a multithreaded guessing game. The majority of this was researching more encoding and handling methods for the errors that I knew I would meet. After this lecture I headed over to the Kedleston Road campus for a talk on tailoring your cv to each role you apply for, luckily there was only two of us in the talk, so we got one to one with the people who arranged it and got all of our questions answered. Later on, I started the book "Make it stick, the science of successful learning ". This book was recommended from super learner and I hope it lives up the course.

23rd Oct 2019

Image
I spent today working on the C++ program to represent the 3 methods described yesterday. The vast majority of the time was spent editing the object "Vertex" provided to accommodate a W coordinate and creating the object "Four-sided shape" Which provided a way to store each vertex point without storing a vector of vectors Vertexes (making the code much more readable). After this up until the rotate function, the rest of the code came with relative ease as the object built was made to handle all of the vector delivery and storage. The rotator method was slightly more difficult as it required the use of "Math.h" due to rotation using Sine and Cosine. While writing the code for the iterations of rotation I used the same iteration variable "iterations" and another loop variable called "iterationCount". Due to the similar names, when writing the loop I found that it only draws 1 rotated rectangle. This was because the "iterations...

22nd oct 2019

Image
Today yet again the lab was cancelled due to the tutor being ill, this meant that we were handed the exercises and the lecture slides without having a large majority of it explained to us, this meant that I spent the time that I would normally be in labs working on the exercises, researching and understanding the concepts used in the exercises. A large majority of this was the use of the W coordinate for translation. This is an additional dimension to the vector that will almost always be represented by 1. This dimension allows shearing using a 3d plane to translate. This works because the sheer is placed upon an angle where its movement only effects 1 of the coordinates of the object. After I started to convert the formula for rotation into code to apply to my final example of translation, rotation, and scaling. Later on in the night, I finished the "Money: a users guide". The chapters involved "The stock market", "Money and relationships" and "Inves...

21st October 2019

Today the lecture was cancelled due to the tutor being ill. Due to this I instead spent my day working on the networking exercise. I used "Async.io" which is a package in python that can be used to avoid threading, instead of producing threads to handle multiple processes'. I managed to get this working but the problem was that if I scaled the number of users in the program, the process's are a lot harsher on the computer than a thread (10,000 processes' is going to be difficult for most computers but 10,000 threads is a breeze). I used this as a model for further research, seeing how far I could push it but sadly this took the vast majority of the day. Later into the night, I got through half the book "Money: a users guide". This book is a short detail of everything from taxation, starting a business to pension and managing money to buying stocks and investment. So far this has been incredibly helpful as I have cleared up the majority of the confusion I...

18th October 2019

Image
Today in the networks lecture we were introduced new concepts, some of which being: TCP windowing, User data ram protocol, the three-way digital handshake, IPv4 vs IPV6, TCP, etc. This lecture provided a large amount of information but I did not take it all in due to lack of time meaning much of it was sped through, and the sheer quantity provided, it seems from now alongside outside research, I will have to spend time going over the lecture slides as well. After this, in databases, we further built on our understanding of E/R diagrams adding more relationship connections to our repertoire. As an exercise, we had to apply these concepts to the exercise we figured out last week. After this we had our lab and in this we were tasked to create a switchboard and report for the example given last week, I got the switchboard working but then I began talking to the tutor about the module and how to succeed in it, so much so that I was there from the start of my tutorial to the end of the next ...

17th October 2019

Image
Today was spent studying more features of access and getting used to its UI. The first thing I worked on was getting combo boxes to update subcategories found on the form targeted. I got this working and moved into the more visual than the technical side of the program and how I can make my databases easier to navigate for the person who is accessing and updating data. One way was to make the program pop open new windows rather than switching between them at run time. Other features I discovered were simple such as colour changes and styles. After this, I worked more on my super learner course where I discovered a previously ignored topic of speed reading. Up until now in the course, the material focused on how our memory works rather than applying it to the reading field. The idea of Schultz tables was given, a game that helps you read using peripheral visual rather than sliding your eyes across the page due to the technicality that our brain does not receive data from our eyes whil...

16th October 2019

Image
Today I planned to head to another talk about beating the application by FP McCann but sadly the talk was cancelled, so as I arrived at the campus to check what room it was at I was disappointed by this news, but luckily there was another graduate fare on where I got to talk to various employers who had come to the uni. Sadly most of them had no roles for placement computer science students but I was taking the event as more for the experience of talking to employers anyway. After about an hour of touring the fair, I went to the café where I managed to spend a couple of hours reading more of the python documentation where I stumbled upon something called the G.I.L or the global interpreter lock. This is a feature built into python that means only 1 thread has access to resources at a time. this feature has been in the language since the first iteration of CPython and stays in due to its ability to prevent deadlocks and its ability to deny race conditions. I only have 2 more articles to...

15th October 2019

Image
Today in graphics I worked on the conversion of the drawing program from before into the new framework provided, this took up the whole Lecture as adapting to this new framework had teething issues, but through this, I managed to get a fully working version of the program by the end. This left 1 exercise to be completed, the creation of a matrices multiplication program using the framework. I will save this for another day. Next, I had my Networking lab where we learned about I/O blocking on a network to establish multiple concurrent connections along with side multi-threading and AsyncIO. With this, we were provided with a large amount of reading filled with jargon that I struggled to understand. I spent the labs reading this and I plan to complete the multi-connection version of hangman at the weekend.

14th October 2019

Image
Today we were introduced to the concept of further cleaning up our c++ code via more organization of classes using new .cpp and .h files. Last week's code was competent but due to the way the windows form is generated, the main form code is heavily cluttered with the generic framework. Due to this, the lecturer provided a framework that moves every single bit of basic window code out of the way meaning there is now a completely separate area for us to define the windows unique behaviours. From this, we're given an example of how the lecturer applied this framework to some basic windows application behaviours. From this, we were given the exercise To create The same example as last week but using the framework. I spent the remainder of the day reading all example code provided for weeks prior alongside the games provided by the super learner course where I managed to increase my score in the word game up to 17/20 remembered words.

11th October 2019

Image
Today was planned to be the second Networks and security lecture first then the databases lab and lecture, but due to the professor having to go to the hospital, the networks lecture was cancelled. As bad as this was for the normal student, I and other classmates were going to miss this lecture to attend a talk on a scheme called Erasmus so luckily we didn't miss out on a lecture. there were only 4 people in the Erasmus talk so it gave me the chance to pick the brain of the man running the event, Andrew Hinchcliffe. He informed us of the number of European companies that are looking for UK placement and graduate students for an entire year of work and the benefits that come along with it for us including the Erasmus grant and what kind of companies that offer this opportunity. Further, we got to watch a presentation created by former participants in the scheme. It was a very interesting talk as a whole, but hearing all about the scheme has helped me decide that I'm going to ind...

10th October 2019

Image
Since I was fully caught up with my exercises for my modules, I spent my day working on my super learner course. The first area of study for the day was surprisingly a set of games that we're told to complete daily. They train the memory in several different ways, but the main one offered was a task where the site would show a set of 20 words, and using the skills taught you to have to remember them all in a small time frame then write them down from memory. Currently, my record is 15/20. After this, I read the book "The only skill that matters". This is a book by the founder of the course about all the underlying skills provided on the course and why they are used. I found it to be lacking in depth but provided a good foundation for expectations of the course to come. After this, I spent time Getting my Networking exercises complete by implementing a state machine that moderates how inputs are received in my network. from this, I was able to fully build and get working ...

9th October 2019

I spent the whole of today at a career fair for placement students. Companies attending span from aerospace software to Barclays. Companies that stood out to me were Enterprise -a rent a car company that only promotes from within the companies, so every higher up role is earned through climbing the ladder. Next - we all know next but their representative especially shined to me as she is currently on a placement year and spent a lot of time trying to help me find the right role if I was to go into the company giving great amounts of detail in everything and finally, Boots- due to the sheer volume of opportunities offered to placement students who took part after graduation. After this, I went to a talk by 3 alumni who had roles with placement. This was quite useful as it provided the perspective of a current placement student, a graduate, and a recruitment officer for a company.

8th October 2019

Image
Today was the graphics lab but due to the fact I'd completed the exercise already, it gave me time to go to friends who were stuck on errors I had not encountered yet and work with them to resolve as many as possible. I find this one of the most useful tools for widening my knowledge of any field as it helps me put my understandings and viewpoints under scrutiny so if anything I ever think I know is wrong, it will be quickly corrected. This especially works with coding as applying the principles I've learned and developed to other people's frameworks shows any holes in knowledge clearly. In the Networks lab, we learned about sockets and implemented an echo server to represent how data flows over the internet. Over this echo server, we had to build a number guessing game and a hangman example. I got both the number game working but I am yet to get the hangman working. Along with this I spent time further reading python documentation due to the fact it didn't come as easi...

7th October 2019

Image
Today was a short day at uni, I had a graphics lecture where we started moving from c to c++. This meant de-cluttering our programs using the separation of code via the .cpp file and the .h file. using the .h file means moving class and function definitions out of the mainline leading to much cleaner code. The task for this was to create a windows program where you could draw by clicking and dragging the mouse using a vector to store the points. This took around 2 hours to get fully working but allowed me to get ahead on my tasks for the week, clearing up my schedule. The remainder of the day was spent finishing off The shortest history of Germany. Upon finishing the book, it was clear that throughout history Germany has had unity issues with mainly military tactics leading to a constant divide to the country, only recently being repaired with Chancellor Angela Merkel in power.

4th October 2019

Image
Today I had my longest day of the week as I have a Networks and security lecture, my first Databases lecture and my first Databases lab. During the Networks lecture we had the basic concepts of multi threading network applications, and router permissions explained to us in fairly basic terms. The lecture mainly contained further information on what we researched in lab and clarification on any confusing points. In the Networks Lab and Lecture we had database purposes and basic implementation demonstrated to us using Microsoft access but were warned that in further weeks we would be using SQL. Access came fairly easily but we were only setting up relationships and keys to reinforce the concepts before we move onto sequential keys and querying next week. Finally I worked more on my super learner homework listening to an hour long interview with arguably the largest figure in the memory community, Harry Lorayne, who detailed his struggles with memory earlier in life and how he came to be ...

3rd October 2019

Image
Another day I don't have university, today I spent my day further researching python implementation of classes, methods, and lambda and through this I have found that python makes me very uneasy. This is due to my experience in Java and C# and my understanding of reasons for parts of their syntax, whereas python seems very developer-friendly and easy to read. Due to this, I'm going to constantly keep in mind that this might cause me to pick up bad habits and actively work against this. The Super Learner course is a daily requirement so today completed 3 more lessons and found a large number of articles on neuroscience as homework. These papers explained the areas of the brain known as the Hippocampi. These, in essence, decide what memories are work keeping for the long haul and which simply are not. the papers further went into this on how the memories are reinforced using relation and special memory developed through our evolution. I finished my day by starting the book ...

2nd October 2019

Today I did not have any university obligations so I spent my morning finishing off the phoenix project. It demonstrates what makes a software company thrive and the behaviours to stride to implement in your daily life demonstrating the concept of finding and eliminating bottlenecks within I.T and daily life. I have found some lessons in this book that moving forward I will make sure to implement in my future team projects and development. This book took about 9 hours to read I decided to use the rest of my day to research ways to increase not only my reading speed but my retention. during this, I stumbled upon a Udemy course called super learner 2. This claimed to contain the information and teaching to largely increase your retention of knowledge and the pace at which you can read. I looked at the reviews and almost all were very positive with a 4.3 / 5 star average over 17 thousand reviews, with this knowledge I took the plunge and purchased the course, I am currently on video 4 of ...

1st October 2019

Image
Today has been the Practical for Graphics I and my first lab for Networks and security. Within the practical we had to create a simple window that, upon click, draws a rectangle at the location of random size and colour. This was complete by the end of the lecture with some struggle. the use of a fixed length array over a dynamic array such as a vector (as specified in the tutorial notes) was mildly annoying but with last years experience in c#, it all came together. For the networks and security lab we we're instructed to simply fiddle and get used to the language Python. with this we had some optional tasks such as "Make the console print the song 99 bottles of beer on the wall using loops" and other basics to all programming languages, with some research on syntax, I managed to complete all but one of the tasks in lecture (a hangman game that runs within its own independent class) but this was complete by the end of the night. On top of this, I picked up some books on ...