Author Archives: sraleigh62

Software Capstone: Refining the Intake Form

Welcome again to my blog;

Lately, we’ve been working to add missing fields and options into the Intake Form. The code necessary to run the server and open the form had been implemented long ago, so with that functionality taken care of, there has been a lot of progress in terms of how the page is formatted and what questions and information were required/optional for the user to input.

The most recent two changes have been the requirement of the pantry-goer’s zip code, and an optional field for gender. From there, the requirement for the persons annual income was implemented. Over the past few weeks there has been rapid necessary progress regarding the software’s usefulness and much of that progress has come in the form of our teams effort to finalize the form prior to May 15th, where we will present on the project in its entirety.

I am currently working on finalizing a change to the intake form where the user can check more Federal programs that they are participants in. Once that is done, there are about 4 other issues we have assigned to one another to take care of prior to the form being fully presentable. Other than that, it appears we have made great strides in how far this program has come ever since its inception. We started with a ground layer where a page could be run on a local server to instantiate the form. Now, we have a well formatted web page with an assortment of necessary questions and fields for the user to respond to, giving the Pantry workers the necessary information needed to run the Pantry.

I will write again soon, once more progress has been made. The semester is coming to a close soon, so there should be only two more posts until this section of my blog ends. Next time I will continue writing on about the progress of the code, afterwards I will write about the presentation we have coming up.
Until then, have a good rest of your day or evening.

-SMR

From the blog CS@Worcester – Sean Raleigh's CS Blog by sraleigh62 and used with permission of the author. All other rights reserved by the author.

Software Capstone: Project Progress

In our class, we are working on a project that has to do with the food pantry on campus. We are designing software in the Java language in hopes that we can create a web based database solution for our pantry.

So far, we have been setting up the basic structure of our Gitlab repository and communication methods. We use Trello as an online cork-board showing our progress across each of the activities we must accomplish in designing the software. We use Slack for our main channel of communication. Besides that, Gitlab takes care of the file hosting and in accounting for the different versions of our code.

We have set up a Maven project with basic test code and a few other files pertinent to the project. Otherwise, progress is moving along slowly but steadily.
Currently, I am working on implementing test code to parse JSON files (read and write to them to be more specific.)

I will write more as time goes on, for now I hope you have a good rest of your day or night.

SMR

From the blog CS@Worcester – Sean Raleigh's CS Blog by sraleigh62 and used with permission of the author. All other rights reserved by the author.

Software Capstone: Computers in Healthcare

We have a few required readings for our course this semester, one reading being “Why Doctors Hate Their Computers” by Atul Gawande (November 12, 2018 issue of The New Yorker.)

One interesting complaint in the article is that with some of the new technology being implemented, extra jobs (like scribes, who would take notes for the doctor while the doctor worked with their patients) were being implemented (so instead of resources being saved by using new software, they needed to hire more people to account for the new software’s complexity.)

Doctors who had gotten used to an older system were finding the newer system harder to adapt to, to use more efficiently, and to save time with. Newer doctors could pick up the new architecture of the software relatively quickly, and non-medically inclined scribes could work the system with ease. There was a defined split between new users to the system who had prior experience with another system, and those who had approached the new software with fresh eyes.

I think that this system was targeted towards improving the patients experience at each hospital the system is implemented in. The doctors have been left to learn a more complex way of going about patient care with the desired result being that information is more accurate and up to date for each patient.

I personally believe that hospitals should invest more in training veteran doctors to use the newer systems, and in improving ease of use for those involved with the system each day. The biggest issue in my view is that time is wasted when the system is too confusing for a doctor to be able to efficiently operate; the patients experience is dampened when the doctors cannot work at the speed they used to be able to.

From the blog CS@Worcester – Sean Raleigh's CS Blog by sraleigh62 and used with permission of the author. All other rights reserved by the author.

Software Capstone: “Emptying the Cup”

In the book we are reading, chapter two is based off the concept of emptying ones cup (essentially if you have a lot of experience coding and are approaching a new project, you need to empty your mind of flawed coding practices, patterns and ideas, and focus on what will work for your project and what will help move you forward.)

 

The first section of this chapter has to do with your first programming language. In this stage, you have only a moderate amount of experience with no more than two or three languages at best. The issue one must face at this stage is reaching the standards your job or your teammates have put forth. The way the book tells us to solve this problem is by honing our skills on one programming language, such that we can seamlessly solve many problems with just that one language. When you just have to use a different language (due to requirements or what have you,) you will have a new opportunity to learn about this seemingly foreign coding language. You can always approach your senior developers or other developers more in tune with that way of programming, as long as you don’t require your colleagues to solve it all for you.

 

How do you go about accomplishing this first pattern? You need to read up on the programming language you’ve chosen to study deeply. There typically are books or websites available for you to learn more about your language. Another avenue for learning is asking for help or talking with your colleagues about how they accomplished what they have with the language. In ending, try and solve some basic problems with your programming language and move up to more intensive projects and issues.

Work slowly at first and you will understand better the in’s and out’s of your language.

 

-SMR

From the blog CS@Worcester – Sean Raleigh's CS Blog by sraleigh62 and used with permission of the author. All other rights reserved by the author.

Software Capstone: Apprenticeship Patterns Post 1

Hello again readers.

So, what is a pattern as is described in the book Apprenticeship Patterns by Adewale Oshineye and Dave Hoover? Patterns are ways in which we program or otherwise do our work/solve problems repeatedly. When applied correctly, patterns allow us to easily overcome many problems/obstacles we face in our jobs and personal hobbies.

The patterns in the book make their approach based on the context, problems, and possible solutions. “The context sets the mood… problem statement identifies the problem being solved by the entirety of the pattern. The solution usually begins with a one sentence resolution for the problem…” (Pattern Form, Apprenticeship Patterns)

Developing a pattern allows for the mass production of programs, buildings, and other structures, whether physical or metaphysical. It is intended to further the abilities of the novice to moderately advanced programmer. One model/pattern for programming is using a master node and slave nodes: the master node controls what slave nodes do (which instructions the slave nodes undergo.)

 

This book was written for “software apprentices” (as put forth by the author.)  The three tiers of the programmer go from apprentice, to journeyman, to a master craftsmen. The apprentice believe that there is always a better way to do what they are doing. The journeyman focuses inwardly as well as on teamwork and connecting with others. The master does this all as well as attempt to move the industry forward.

 

On to the review of this pattern. I find taking instructions from a singular source and running processes on many smaller sources of computing power to be interesting: you can get vastly more processing power by adding many slave or sub-nodes to a master or dominative node. I haven’t really found that it changes how I will approach programming in the future but I may look back on this way of programming for reference. Finally, I have no disagreements or other takeaways from the first chapter and pattern of this book.

I hope you’ve enjoyed my first post about Apprenticeship Patterns, I will see you next time.

 

-SMR

From the blog CS@Worcester – Sean Raleigh's CS Blog by sraleigh62 and used with permission of the author. All other rights reserved by the author.

Software Capstone: Working with the Food Pantry

So, it isn’t confirmed that I will be focusing on working on the food pantry, but I would like to talk about the new Worcester State University Food Pantry system. According to the article at http://alumni.worcester.edu/s/140/social.aspx?sid=140&gid=1&pgid=3464&cid=5649&ecid=5649&crid=0&calpgid=15&calcid=848 the food pantry is set to open this January.

Miss / Misses Maxfield, a senior of Worcester State, had gone through many trials and tribulations with her parents when she was younger, leading her to be on her own and quickly losing the money she had saved up. Food issues arose and because of her experience and struggles, she and other students were inspired to start work on a food pantry here on campus.

I believe this is wonderful and helps very much supplement the SNAP program we have going on currently. Students and faculty of Worcester State can now go to the pantry and, with their ID, can get the right amount of food they need. I believe that many lives will not just be improved but possibly saved due to this movement.

 

So, what does this have to do with programming or computer science? Well, we are most likely going to be developing a database or some sort of system to keep track of the persons making use of the pantry, the supplies going in, and the supplies going out (just an educated guess.) What we would need to do is to get in touch with some of the people working on the food pantry and to ask them exactly what it is they want out of our program/programs.

Once we get started on this project I will have much more to write. Alternatively, I will possibly be working with health institutions that work in Southern Africa, which (if this is the case) I will instead write about said institutions and my work with them.

Until next time,
SMR

From the blog CS@Worcester – Sean Raleigh's CS Blog by sraleigh62 and used with permission of the author. All other rights reserved by the author.

Software Capstone: First Day of Class

We started our course today; we have been introduced to the CATME project  (Comprehensive Assessment of Team Member Effectiveness.)

We are going to be using CATME to build our teams and for our professor to be able to survey our responses to questionnaires. It will be useful for us to find a better placement in our seperate groups and to figure out which person would be most suited for which kind of task.

For communication between team members, we will be using Slack (the programmers go-to team messaging and update system.) This will allow us to share files and keep in touch with the people we will be working with.

 

Regardless, it will be interesting to work in larger groups than I’ve done previously. Furthermore, we will be working with actual institutions of health and programming systems for places such as food banks. My next post should be focusing on some of the text we will be reading (articles and books primarily.) I will most likely be reviewing these texts and giving my interpretation of them.

I look forward to my next posting.

From the blog CS@Worcester – Sean Raleigh's CS Blog by sraleigh62 and used with permission of the author. All other rights reserved by the author.

Software Capstone: Introductory Post

Welcome to a new series on this blog, following my progress in my Software Capstone Course.

 

I am currently working on this blog as I finish up the last series I had on this wordpress site; this means that I will be working on two blogs at once, essentially.
I hope to do good work in this course and hope that it helps someone who most needs it.

I’ll write more as more occurs, as my first class is on Wednesday.

From the blog CS@Worcester – Sean Raleigh's CS Blog by sraleigh62 and used with permission of the author. All other rights reserved by the author.

Software Construction, Design, and Architecture: Post 2

Hello Reader. I’m back here again, ready to cover another day in class.
So, it turns out I’m going to have to modify this and some of my past posts, so that they are grade-able for the class. Otherwise, my posts are still gonna follow the same sort of format, where I just candidly cover everything going on in class, as much as I can.

It’ll include a reflection on the material and I’ll be answering  some questions put forth by my Professor, Dr. Wurst. As for right now, I’m preparing to take on whatever we have to get done for today.


Come to think of it, there is a word count restriction on the posts for the class. I will make separate posts for those questions, specifically.


We are talking about UML Class diagrams today. They are the most commonly used UML diagram. We use these diagrams to put on paper what makes up a software program, from the classes set up within the program, to details about said classes, and then the relationships between classes.


First, you have the class name. Within a box divided into three boxes horizontally, the top box is the class name. Then, you have their properties, second box. Finally, the last box contains methods that the class/other classes (depending on its visibility) can call on to use.


 

Sorry I havent uploaded this, not going to add onto anymore as of now but just uploading what I wrote.

From the blog CS@Worcester – Sean Raleigh's CS Blog by sraleigh62 and used with permission of the author. All other rights reserved by the author.

Lab 3: Obstacle avoidance and Multi-process systems

Before I would like to start, I would like to speak openly here for the intelligent Dr. Wurst, my professor, to ask him something really quick.
Would this blog post count as acceptable for a lab notebook entry? It would be a pleasure and a great convenience if you will accept this!

I will answer all of your questions in the following paragraphs and write about me, Urooj, and Braxtons time working on Lab 3 for Robotics.

Let us begin.
Today, I am working on finishing up our multi-process c program that will have the robot adjust its direction and speed at the same time, thus two processes working in a multi-process system can be observed.

If we had approximately four or so hours straight to spend on this lab, we would have completed it all in one day in my opinion.

But that is fine, now I am back and now I am more than ready to solve some problems!

There begs a question: What will I do first? Well, right here and right now is a start. Keeping steady lab notes and tracking everything I do will be most beneficial for us all in the long run, as we all can learn easily about anything — we must simply have a passion for whatever it may be!

I apologize. I am writing much like a Philosopher. One could say I am a philosopher of technology. With this out of the way however, I would like to actually get down to business. I will now begin [:chuckling:]

I am going to produce a program to read the Sonar Sensor attached to the 0th analog position in the Botball device. After I do this I will begin to track the sensor readings for the following materials and light levels.
If my hypothesis is correct then light levels will not affect the Sonar sensor, as it uses echolocation to sense its surroundings. What a smart device truly!

However if I were to attach light sensors and IR sensors, I could create even more functionality to the robot.  Heck, imagine if I put a camera on the front of the robot to stream to my phone! And a bluetooth keyboard to have the user gain full control of the robot itself.
Goodness, technology endlessly brings me so much interesting new stuff to work with! Okay, I am going to stop writing here now so that I can accomplish the programming for the Botball.


Attempt Number 1: Robot keeps moving forward, stops to check IR readings (sensing left value vs right value.) but fails to adjust course in second function. Layout of functions: First function is the IR reading function, then comes the DRIVE function. The IR reading (and, well, writing as well) function keeps track of the devices input readings and adjusts variables so that the drive function performs as we want it to — to avoid obstacles or turn around if there is no way forward.

Changed motorValue from changing using is equals ( == sign) with = sign. Maybe program will work now. Attempt number 2 will be detailed in the paragraph/s below.

Attempt Number 2:
Attempt 2 was a success!! The robot followed the instructions perfectly this time after setting each analog state (0 and 1 as floating points) and used multiple functions in rapid succession. Time to implement C multi-process capabilities and if this works the robot is all set. Its behavior is to like stimuli and approach it (when it senses more from one IR to the other, it goes towards the stimuli closest.)

Attempt Number 3:

Pre-program test: Using multi-process function in KIPR C programming environment means I might not be able to use the defer method. Initially I would have used this in between processes to defer the need of one process to the need of the other process. Let us try to see how it works.

Post-program test:

Robot functionality lost while using start_process and kill_process. Maybe I should use kill_process in while loop? Next attempt will be below.

Attempt Number 4:
Put the start processes and kill processes before and after with while loop. Did not work. Now attempting to change kill_process(0 and 1) to kill_process(1 and 2). Maybe this will finally work?

Attempt Number 5:
Everything is balls [:tears forever:]

From the blog CS@Worcester – Sean Raleigh's CS Blog by sraleigh62 and used with permission of the author. All other rights reserved by the author.