This is an old revision of the document!
This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
As a first exposure to a new programming language it is just as scary as it seems. Many new things that I have never used or actually heard of when it comes to C/C++ programming. The first programming I have ever done was last semester and it was with java and that was not fun at first but once you are around it enough it starts making a little more sense and that is how I hope this class will become to me. New programming languages are not only useful, but they are fascinating to learn how many different things you can do with them. Not only am I learning a new language, I am starting to learn the many things about lab 46 and the lair as it is my first time using either one of those. This semester is going to very different to me, but I know once I get the hang of how things work it will be just as enjoyable and interesting as my other classes.
Well our first real project of programming is almost due. It is still causing me some confusion, but I have never considered myself real strong in the programming field. It is a new learning curve, but through the books, online resources, and in class instruction, I am starting to understand simple concepts more than I did in a previous programming class. Programming is not supposed to be easy, but even when the simple things start to work it is satisfaction none the less. This is going to be an important class, because both c and c++ are both fundamental languages in the computer field.
There are many “simple” things that when you try to put them into a program, are not that simple. This project is another easy mental math project that sounds not that challenging, but in the grand scheme of things, is just as hard as any other project we have done so far. I have been looking online and trying some of my own ways to conquer this project as efficiently as I can, but sometimes being more efficient can cause more errors. The few things that I am still struggling with is the carry in this project. When adding two number that add over ten, I want to show the carry and how the math operation is done, not just a final answer. I like how these projects are going so far. They follow on what we have done in class and give us an idea that sounds easy to us, but is not the easiest when implementing that idea into a program. So far so good, but there are many more errors that I need to correct to get this program up and running successfully. Many things that we do in class have helped me out on these programs and that is the main reason why class time is so important to a person like me, because this programming stuff does not come easy to me but it is still rather enjoyable when I finally get a program up and running smoothly. Sitting down and writing some code takes a lot of time and takes even more time to solve the error messages without the help of someone else. Programming is meticulous and that is why it is always fun to make something that works correctly. Now I just need to remember to comment enough stuff into my code to make sure my grades are better than what they are now.
This week is a prime number calculator and I never really like prime numbers so making it into a program is not that much fun either. There are many different ways you can tackle this challenge, but sometimes when you think it works it is missing a couple prime numbers. A prime number is a number that is divisible by only itself and one. There are a couple patterns but that is only depending how far up in value the numbers are. I have tried loops and if statements and that has gotten me pretty far, but I am sure there is an easier way than what I am doing. This week in class we learned about arrays and how to use them. In lab we discussed arrays and how they are just a list of values which can be used instead of making new variables for each value. There is still a lot of learning I need to do on arrays, but at least I am starting to understand how to use them in a program effectively. Also in the prime number program, bonus points will be awarded for the fastest processing time, but I am really struggling on how to optimize the program and have it still work completely correct. Optimizing is very useful obviously, because the program works faster, but it is not as easy as just simply putting some code together and having it work. Optimizing digs down deeper in the code and makes it go through less steps to find the correct answer. My project is far from completed, but there are still a few ideas in my head on how to get it up and running. I don't know about getting it running faster but I can work on that once it works the first time.
These mental math program are a lot easier said than done. Although they are not the easiest to me when it comes into making them into a program, they are making me understand some of the basics of the c language. The way I start doing the programs works good until the final part and then that is where the errors come in when I try to compile it. This project, the day of the week, prompts the user to input a year in the twenty first century and then the program runs and tells the user what the day the first of the year fell on. The math behind it makes complete sense, but I am trying to use integers to my advantage when it comes to all of the mathematical steps involved to reach the final answer. I am still having difficulty when it comes to the exception of leap years and the best way to make the program say what day of the week it is without using a ton of “if” statements. I can see how all of this mental math programs that we have been doing teach us the basics and that is good for me, because if I understand the basics then it will not take as long to understand more in depth programming. The next projects is another mental math project and it will be just as fun as these last two I am sure.
There are many “simple” things that when you try to put them into a program, are not that simple. This project is another easy mental math project that sounds not that challenging, but in the grand scheme of things, is just as hard as any other project we have done so far. I have been looking online and trying some of my own ways to conquer this project as efficiently as I can, but sometimes being more efficient can cause more errors. The few things that I am still struggling with is the carry in this project. When adding two number that add over ten, I want to show the carry and how the math operation is done, not just a final answer. I like how these projects are going so far. They follow on what we have done in class and give us an idea that sounds easy to us, but is not the easiest when implementing that idea into a program. So far so good, but there are many more errors that I need to correct to get this program up and running successfully. Many things that we do in class have helped me out on these programs and that is the main reason why class time is so important to a person like me, because this programming stuff does not come easy to me but it is still rather enjoyable when I finally get a program up and running smoothly. Sitting down and writing some code takes a lot of time and takes even more time to solve the error messages without the help of someone else. Programming is meticulous and that is why it is always fun to make something that works correctly. Now I just need to remember to comment enough stuff into my code to make sure my grades are better than what they are now.
This week is a prime number calculator and I never really like prime numbers so making it into a program is not that much fun either. There are many different ways you can tackle this challenge, but sometimes when you think it works it is missing a couple prime numbers. A prime number is a number that is divisible by only itself and one. There are a couple patterns but that is only depending how far up in value the numbers are. I have tried loops and if statements and that has gotten me pretty far, but I am sure there is an easier way than what I am doing. This week in class we learned about arrays and how to use them. In lab we discussed arrays and how they are just a list of values which can be used instead of making new variables for each value. There is still a lot of learning I need to do on arrays, but at least I am starting to understand how to use them in a program effectively. Also in the prime number program, bonus points will be awarded for the fastest processing time, but I am really struggling on how to optimize the program and have it still work completely correct. Optimizing is very useful obviously, because the program works faster, but it is not as easy as just simply putting some code together and having it work. Optimizing digs down deeper in the code and makes it go through less steps to find the correct answer. My project is far from completed, but there are still a few ideas in my head on how to get it up and running. I don't know about getting it running faster but I can work on that once it works the first time.
This next project for this week is the same type of project that we have done before except a little more complicated. We are now doing the same multiply by eleven trick that we have done before except now we are changing it to be able to multiple up to an eight digit number by eleven. This time we can also use arrays and loops unlike last time. Arrays are very useful if known how to use them properly, but I am still learning how to make them work the way I want them to. This week in class we covered functions and using multiple main type functions in a single program. Lab we went over the same type of thing except in a different way. We were using different functions and making a loop out of them. The class work we do really helps me wrap my head around exactly the functions or whatever topic we are going over and seeing where they can make my program better and more efficient. There is still a lot of things to work on in my case but you have to piece it together instead of just trying to make the programs come together in one big piece in one sitting. There is literally so many different ways to do the same thing in programming and on top of that, one little thing like a missed semi colon can mess everything up dramatically. As that is also a downside of programming it is also a benefit, because once that program works perfectly without any errors it is so satisfying. The program compiles and you get to see what your work turned into. Although these programs are simple to many people, to me they are difficult and take me a lot of time to figure out how to make a mental math program. There are a lot of people in the class that are very good at programming, but this is still only the first year that I have ever seen it and it is not that simple to me. My first programming class ever was last semester and it was problem solving, so there is a lot to improve upon in my case. Also I am still trying to figure out how to make vi work as good as I want it to. Some of the simple things I can handle, but I am still trying to get used to cutting and copying lines and stuff like that. It is something I need to spend a lot of time on to get used to it and make myself use it correctly. Vi is something that would definitely make writing code a lot easier, but learning it is not that easy when you are used to pointing and clicking where you want to write or copy. Still a lot to do when it comes to c programming, but there is a lot of time to learn it.
This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
So this UNIX/Linux stuff is all completely new to me as I have only read about it in a few books and the internet. It is not very easy for me to do the simple things yet, but it is just going to take some time before I can use it to its full benefits. We did “little” things like set up emails, our accounts, and learned a few simple commands to work our way around the operating system and although they were merely small tasks, they were not very easy for me and I am sure others. I have been a windows user my entire life and now I know that all this pointing and clicking stuff has a bigger meaning when I switch over to a computer in the lair. The only challenges I have right now is the inexperience I have with the UNIX/Linux system, but I am sure that with time those problems will be dealt with and new, more complicated problems will arise. It is good to be learning something brand new doing things that I have done before to see how it works on multiple different systems.
Still having confusion with how this new operating system works, but it is definitely getting easier and I can see where many people enjoy using it. It is very different than the normal windows operating system that I am so used to using on a daily basis. The first project is due on Wednesday and I would be lying if I said that everything going on was completely normal, because this is a brand new system to me and there is a lot to learn for sure. It is fascinating how simple certain things are that seem very complicated and that is for sure a plus when it comes to this operating system. We are starting to learn how to move and edit files, it is not with ease yet, but it will with time and experience. There is a lot to learn and with each more you learn, you realize that you still do not know half of what is going on yet.
The hype of these puzzle box projects have not let me down because they are truly a puzzle and fun to solve the riddles and hints found in them. Although at the same time I wonder how hard these puzzles are to make. They can not be easy to make but solving them is not the easiest but very enjoyable. At the end of the puzzle it is nothing more than a message saying you have completed it or just regular text that is unscrambled and readable to people. It is a project that is hard to put down once you start it and you always try everything you can to get the next piece of it. Also this past week we started learning about using vi and that it something that is going to take time to learn. Just like learning this new operating system, vi will take some getting used to before I learn how to use it with ease. That type of modifier would make programming quicker and highlight the important parts of any type of code. Using the computers in the lair have opened my eyes to how different things can work the same way and how important it is to know what kind of files you are messing with. With the puzzle box I learned quick not to try and cat them out because it changed everything on my screen to ascii characters and changed where the prompt was on the screen. Now I know that everything that is done with a file should be looked at before to see what it really has inside of it. The puzzle box projects, although a lot of fun to uncover, they show you what all these files could contain and what commands to discover exactly what they are made up of. I got lost a few time trying to figure out what commands to use to sort the messages in them, but once you got to the end you figured out the pattern and got through a few of them with ease. A lot to still learn, especially with vi, but I am sure the projects are what is going to help me understand more and more as each week passes.
Starting to figure out the basics of how to move around the system without all the confusion as before. I still am not as quick as others are, but more things are starting to make better sense. Reading the book of the beginning mage has helped clear some confusion on a few steps, but overall I like the change of this new operating system. It makes things easier like programming and setting files to the way the user wants to set them at. The last project was to unscramble pieces of a picture and at first it was hard to even save the file into my own directory. After asking a few dumb questions and reading up tips and ideas from the two books I have available to me, it was a lot easier than I thought it was going to be. Just understanding those little three letter commands can help a lot and I found out the man command was super helpful with figuring many things out. Although to some it may not look like unscrambling those pieces was an easy project, on a new system and a whole new environment changes the difficulty of the overall assignment. Getting things to work properly on a new system is very rewarding and when I start to do things without thinking to hard about it means that I am starting to get it. There are many projects in the future that may make me think otherwise but for now, I am confident that I can learn this system and make it work the way I want it to work.
The hype of these puzzle box projects have not let me down because they are truly a puzzle and fun to solve the riddles and hints found in them. Although at the same time I wonder how hard these puzzles are to make. They can not be easy to make but solving them is not the easiest but very enjoyable. At the end of the puzzle it is nothing more than a message saying you have completed it or just regular text that is unscrambled and readable to people. It is a project that is hard to put down once you start it and you always try everything you can to get the next piece of it. Also this past week we started learning about using vi and that it something that is going to take time to learn. Just like learning this new operating system, vi will take some getting used to before I learn how to use it with ease. That type of modifier would make programming quicker and highlight the important parts of any type of code. Using the computers in the lair have opened my eyes to how different things can work the same way and how important it is to know what kind of files you are messing with. With the puzzle box I learned quick not to try and cat them out because it changed everything on my screen to ascii characters and changed where the prompt was on the screen. Now I know that everything that is done with a file should be looked at before to see what it really has inside of it. The puzzle box projects, although a lot of fun to uncover, they show you what all these files could contain and what commands to discover exactly what they are made up of. I got lost a few time trying to figure out what commands to use to sort the messages in them, but once you got to the end you figured out the pattern and got through a few of them with ease. A lot to still learn, especially with vi, but I am sure the projects are what is going to help me understand more and more as each week passes.
This week is another fun adventure and a project all in one. Our task is to create an eleven page, web based adventure game using html. I have prior knowledge of using html, but I definitely need some studying to create something like this project. The previous knowledge I have of html was from high school and the class was really brief and more of an introductory course if anything. I made some simple web pages, but nothing as fancy as a web adventure game. It is a good project because it is programming language that does not need to be compiled. I might be wrong by saying that but that is my perception of it. The best part of this whole project is the freedom of making it whatever we want it to be based on. There are no guide lines of how it should be done besides html and eleven pages. That makes it a truly fun project and it is not hard to find the time to work on it. My project might not be the best but I am excited to see what everyone else has done with their web pages. In class we have been going over commands on how to further our experience in the lair using the computers to out advantage. What we specifically are learning is how to make the computer work for us by giving it a command. I know one day we were using the computer to sort out files or directories that started with a given letter or had a vowel inside it. Using ? to show how many characters or * to tell the computer that it could have zero to any amount of characters in between. For example if I was in a directory that had a bunch of files in it but I was only interested in a file that started with a vowel and ended in a vowel I could give a command of something like: ls [aeiou]*[aeiou]. That command is just simply saying that it starts with a vowel, has zero or any number of letters in between and also ends in a vowel. That makes the computer work more for the user and can definitely make things go by a lot faster when traversing through and expansive file system. Also in the lecture we were given control commands. I can't remember all of them obviously, but each one we learned we tried out and saw how useful they were. The one that I use a lot is control l,because it clears the screen. I find my self very often writing commands on a full screen of text and it gets confusing and hard to read at times. Now that I know it is just really two button I have to press it all goes by much smoother. Another useful command is control u and all that does is paste a line you have recently cut. They are nothing special, but once you have learned a few of them and get used to using them all the time then it really makes it look like you know what you are doing. The computers in the lair are truly getting easier to use for myself and I will never admit that I know completely what I am doing but certain tasks have become a lot easier for myself. A lot of learning still left to do but that is what I am taking the class for after all.
This week in our unix class we were going over how scripts are made and work. It is a lot to learn because it is pretty much a new language to learn just like programming, but with enough time and practice it will come easier or at least make a simple script. Just the beginning scripts that we made in class showed how they could help make a lot things easier like using a bunch of different commands by just running one script. One command can run multiple sequential commands after it. Scripts are one single command that can implement multiple commands to run or run some sort of logic and run more commands. What we have learned so far is probably just the tip of the ice berg when it comes to scripts, but the intro of scripts that we learned have showed how they can make computing go by a lot faster and easier if done correctly. Also this past week we worked on a web page adventure using html code. My web page was not pretty and probably not that good but through the process of making the web page I learned new commands that help me copy an image from the internet and change the permissions to make it available to be seen by typing in the correct url. Even something like that is interesting on how one command can make my files available on the internet given the url. For some reason I had some trouble with the html code, but most the time it was something stupid like forgetting to close a header or not spelling something correctly. I feel that this last project was to get us ready for writing scripts given the type of code html is. You do not need to compile it just like a script, if it is done correctly, it just works how it is supposed to. More scripting coming up and new projects to tackle in them mean time. Time to learn more about this unix/linux file system that is starting to get easier for me to handle. I feel I am starting to grasp the basics and can understand how some things work on it. Also I have found how to play tetris in the usr/games directory which is very useful when I am stuck at the school bored. Traversing through the file system is getting easier and understandable and I can definitely see a foundation has formed in a way of using the system. Instead of looking up every single command on a manual page I am starting to remember them without even thinking about them. More to come with UNIX this upcoming week…