Author Archives: anairdoduri

JavaFX: First Touch

Hello to all 3 people who read my blogs. Today I want to share with you the most recent reasons for my ever-so-constant headaches, JavaFX. JavaFX is a powerful framework for building graphical user interfaces (GUIs) in Java. The main reason why I’m dedicating time to it is that I need to hone my skills to make one of my projects more user-friendly and a tad bit more professional and appealing.

One of the first challenges I faced while beginning to work with it was the actual setup. Many different IDEs require a different set of requirements to be installed or added before using a specific language or module. In my personal case, setting up JavaFX with my preferred IDE which is IntelliJ proved to be a little more challenging than usual as the video tutorial I was following had an older version of both JavaFX and IntelliJ which had fewer options than my versions which made it hard to find the correct “buttons” to set everything up, but nevertheless I made it work.

When the time came to actually create the interfaces I’ll admit that I was a little overwhelmed as I did not even know where to start, but following free online tutorials helped me a lot to create my first interface. Here is a sample of what JavaFX code looks like.

// Sample code for creating a simple JavaFX UI

public class MyJavaFXApp extends Application {
public static void main(String[] args) {
launch(args);
}

@Override
public void start(Stage primaryStage) {
    primaryStage.setTitle("My JavaFX App");

    Button btn = new Button("Click me!");
    btn.setOnAction(e -> System.out.println("Button clicked!"));

    StackPane root = new StackPane();
    root.getChildren().add(btn);
    primaryStage.setScene(new Scene(root, 300, 200));

    primaryStage.show();
}

}

This code creates a new window that has a single button that says “Click Me!”

It may not look like much but after spending close to three hours just setting everything up, ending with this feels like a great achievement.

Unfortunately, the project that I am working on requires far more functionality as it is meant to do something meaningful and useful (Stay Tuned for the project blog), so my next milestone into the JavaFX journey is going to be adding this functionality and handling the different user-oriented events that will be in the framework of my project.

In conclusion, learning about JavaFX has been a very enlightening experience. I have only scratched the surface of what this framework can do but needless to say, I’m happy with my progress and far more excited about learning more in the future. If any of you fellow students are interested in GUI programming with JavaFX, I highly recommend giving it a try as there are a lot of possibilities with it and apparently, the learning curve is very rewarding.

Till next time. Ano out.

From the blog CS@Worcester – Anairdo's WSU Computer Science Blog by anairdoduri and used with permission of the author. All other rights reserved by the author.

Scrumming through the Semester

As we go towards the last “Sprint” of this semester I find it obligated to write about the Scrum methodology and how what at first appears as just “something” you deal with during a course, surprisingly turns out to be a methodology that can help you ace your academic endeavors.

Photo by cottonbro studio on Pexels.com

An explanation to my readers who are first reading about Scrum here:

Scrum is a framework used in the agile project management methodology, primarily in software development, to enhance collaboration, flexibility, and the speed of development. It provides a structured yet flexible way for teams to work together on complex projects. Key elements of Scrum include:

  1. Roles:
    • Product Owner: Represents the stakeholders and is responsible for defining the product backlog.
    • Scrum Master: Facilitates the Scrum process and removes impediments to the team’s progress.
    • Development Team: Cross-functional individuals responsible for delivering the product increment.
  2. Artifacts:
    • Product Backlog: A prioritized list of features, enhancements, and bug fixes that constitute the product.
    • Sprint Backlog: The subset of items from the product backlog that the team commits to completing during a sprint.
    • Increment: The sum of all completed backlog items at the end of a sprint, representing a potentially shippable product.
  3. Events:
    • Sprint: A time-boxed period (usually 2-4 weeks) during which a potentially shippable product increment is created.
    • Sprint Planning: A meeting at the beginning of each sprint where the team plans the work to be done.
    • Daily Scrum: A brief daily meeting where the team discusses progress, plans for the day, and identifies and removes obstacles.
    • Sprint Review: A meeting at the end of each sprint where the team demonstrates the completed work to stakeholders.
    • Sprint Retrospective: A meeting at the end of each sprint where the team reflects on its performance and identifies areas for improvement.1

Now that we got that out of the way let me show you how applying Scrum methodology as a student can help you manage your time, stay organized, and drastically enhance collaboration during those obligatory group projects.

My first step would be creating a “Student Backlog” which Identifies your academic goals, assignments, and projects. Break them down into smaller more manageable tasks and prioritize the tasks based on deadlines and importance.
Secondly, define your “Sprint length” by which I mean study periods. You can determine the duration of your “sprints” by a week or two depending on your own preferences and the nature of your tasks or assignments.
The Third point would be “Sprint Planning”. At the beginning of each sprint plan what tasks you will focus on considering your class schedule, deadlines, and other commitments. Remember to have realistic time estimates for each task.
The Fourth point is having a personal “Daily Scrum” in which you review your progress and plan for the day while identifying any challenges or roadblocks that you may face.
Scrum is all about enhancing collaboration in groups so if you have group projects, introduce scrum to your groupmates and try to implement Sprint Planning and Daily Scrums to keep everyone on the same page. I found that using tools that boost collaboration also works miracles during group projects. Tools like “Jira” or “Trello” can help you succeed during these said projects. Adaptability is a huge part of Scrum so try to be open to adjusting your plan as needed when unexpected events and new priorities arise.
The last and most important lesson that I’ve learned from scrum is to track continuous improvement. Try to get feedback from your professors, friends, mentors, and even from yourself to continually improve your studying and refine your methods based on what works best for you.

Photo by ThisIsEngineering on Pexels.com

With all that being said, I wish that everyone achieves their goals in one way or another, remember that for all of this to happen you first need to stay fit and healthy so don’t sacrifice your well-being in order to achieve “fast” results. Success takes time.

Ano out.

  1. Information from Scrum.org ↩

From the blog CS@Worcester – Anairdo's WSU Computer Science Blog by anairdoduri and used with permission of the author. All other rights reserved by the author.

Hello World!

Hello Everyone!

My name is Anairdo Duri.
I am a Computer Science student at Worcester State University.

In the ever-evolving landscape of technology, the role of a computer science student is akin to that of an explorer in uncharted territory. As we embark on this thrilling journey through the realm of algorithms, data structures, programming languages, and cutting-edge innovations, we find ourselves at the crossroads of tradition and transformation. This blog is dedicated to the passionate and curious souls who have chosen to embrace the world of ones and zeros, where code is the universal language, and innovation knows no bounds.

Welcome to a space where the binary meets creativity, where logic converges with imagination, and where the pursuit of knowledge is as endless as the digital universe itself. Whether you’re a seasoned computer science enthusiast or just taking your first steps into this fascinating discipline, our goal is to be your trusted companion, providing insights, inspiration, and practical guidance as you navigate the exciting terrain of computer science.

Together, we’ll delve into the mysteries of machine learning, dissect the intricacies of software development, unravel the secrets of cybersecurity, and explore the diverse facets of computer science that shape our rapidly advancing world. Along the way, we’ll share stories, offer tips and tricks, and connect you with a community of like-minded learners who share your passion for all things tech.

So, fasten your seatbelts, dear reader, as we embark on a journey where algorithms are our maps, and innovation is our destination. Together, we’ll explore the digital frontier, unlocking the potential of the digital age, one line of code at a time.

Photo by Josh Sorenson on Pexels.com

From the blog CS@Worcester – Anairdo's WSU Computer Science Blog by anairdoduri and used with permission of the author. All other rights reserved by the author.