Chapter A

Resources

Helpful Resources!

Subsections of Resources

Links

This page is a collection of general links that may be useful. Email the instructors to request any additions.

  • System Design Textbook - a great writeup on system design, starting from the basics of networking and the internet through high availability systems and case studies. This information is very useful as you get closer to having a product ready for release and deployment, but may also help inform your early design stage as well.

  • Mockola - IT diagramming tool developed by Keyhole Software in Lenexa, KS. The team includes a few K-State CS graduates!

  • How to Write a Good Readme - Some good tips and information about writing a GitHub README file, as well as links to some notable examples.

  • Foursquare Data - An awesome dataset of locations and POIs from Foursquare.

CIS 748 Videos

This page contains links to videos and some comments from the CIS 748: Advanced Software Management course taught by Dr. DeLoach.

YouTube Channel - contains all videos.

Video Topics

Below is a quick guide to the various videos and their relevance to CIS 598 projects. Feel free to use this to help you find a particular video or topic.

  • Chapter 1: Videos 1a and 1b talk mostly about project teams. 1a also covers work products. 1c talks about different approaches to a project, and may be helpful during initial project planning stages.
  • Chapter 2: Video 2b gives some useful information about software development processes. 2c is some good historical information as well. Videos 2d and 2e are super useful since they cover both iterative and agile development, which is the most common development process employed by students in this course.
  • Chapter 3: The videos from chapter 3 are useful during the early parts of the project and give lots of information about how to determine the features and requirements for a project. Watching these videos early on may help you ideate around your project.
  • Chapter 4: Chapter 4 is mostly related to large software projects and may not be directly relevant, but is still useful in some areas.
  • Chapter 5: Chapter 5 covers large project management, which may be a bit outside the scope of CIS 598 but is interesting if you plan on joining or managing a large software team in the future.
  • Chapter 6: The content in chapter 6 goes deep into project estimation, and is probably too deep for CIS 598. However, some of the content may help give you a few ideas for how to judge the approximate scope and scale of your project as you get further into planning.
  • Chapter 7: I recommend watching some of the content in Chapter 7 on time management and evaluating progress about halfway through the semester. They can be a good prompt for reflection as you reach the halfway point and look ahead to the last part of the project.
  • Chapter 8: Chapter 8 is mostly on value analysis, which is not really relevant to CIS 598.
  • Chapter 9: Likewise, Chapter 9 mostly covers risk management, which is probably not relevant to most CIS 598 projects.

Presentation Tips

This is a presentation tips video recorded during the Fall 2022 semester.

YouTube Video

Edited Transcript

Hello, everyone, I wanted to take a few minutes to record a short video to give you some tips and tricks of things that you can do to improve your presentations for the second round of presentations. Most of these comments are from things that Dr. DeLoach, Dr. Lang and I wrote down on the comment sheets for all of you, those should all be uploaded to Canvas. And if you don’t see that, let me know. And I can find your comment sheet and make sure it gets attached to the comments on canvas. But what I’m going to do is I’m going to go through a few slides examples and talk about a few things that we really noticed in these presentations that are things that you can work on to improve for the next time around.

First and foremost, I’ve got a pretty bland intro slide here that just gives my name and the name of my presentation. But there’s a lot of things you can do to really be eye grabbing from the very beginning of your presentation. For example, just using the PowerPoint Designer, I was able to improve this slide to look like this. It’s gotten much bigger text, it’s got a more interesting font, it’s got a little bit of graphic design to it. And it really brings your attention to the presentation. And it gets across the point very quickly.

The second thing that we noticed is a lot of presentations would begin with an outline slide. Remember that the presentation that you’re giving are only going to be about eight minutes. And so you really don’t have a whole lot of time to talk during your presentation. Especially on an outline slide like this, the text can be really small, there’s no graphics, there’s very little time to present us. And so on an eight minute presentation, I’ve already wasted about 30 seconds just talking about an outline of things that I’m going to talk about in the next eight minutes. I would argue that an outline is more important if you’re talking for an hour or an hour and a half or giving a long form training. But for a short eight minute presentation, I would just leave this slide out, you really don’t need it, dive right into your content and start telling us about your project.

Another big thing that we noticed in a lot of presentations was that they generally used very small text. This slide was made using the default PowerPoint slide layout, and you’ll notice that it only has three bullet points. But nearly three fourths of the slide is left as blank space. And it makes it really hard to read especially in the back of the classroom. But it also means that you’ve got so much screen space that you’re not taking advantage of. The other thing that we notice on this slide is the bullet points themselves are full sentences. And so when I’m reading the slide, I tend to actually read all of the text on the slide instead of trying to present it to the audience. So if you ever have a slide that looks like this, where you’ve got lots of whitespace. Again, this is a really good chance to use the slide designer in PowerPoint or use your own design skills to improve it a little bit. So I always recommend when you’re working with slides, use the available space. On this slide, I’ve moved the header up just a little bit to take advantage of that, using the slide designer, I was able to make a very quick slide that has three bullet points, it uses much more space that has much less blank space. And the bullets themselves have few words that are very eye catching. You can even expand this by centering some of the text or adding additional graphics or icons to really get your point across.

Another comment that we had very often was diagrams were very hard to read. Again, this is the default slide design for when you paste the diagram into a slide. And you’ll notice that the diagram itself only takes up maybe 20 30% of the slide and the rest of it is again left as whitespace it’s really hard to read this diagram, even just on a computer screen. And so when you’re sitting in the room, it can be very, very difficult to read this. So as you’re thinking about your second presentation, one of the things I really encourage you to do is use up the entire slide space for your diagram, we don’t really need a title, we don’t really need a header, we’re just interested in the diagram itself and you verbally can provide the information about what diagram this is and how it fits into your documents. Another thing you can think about is the most slides are going to be oriented horizontally. And so I would reformat this diagram to be wider than it is tall. So again, it takes up all of the available space on the slide.

Another thing that we saw a few times were slides that because of the background graphics or because of other things that were going on, it became very hard to read, you either had dark text on a dark background, or light text on the light background, especially in the classrooms. When you’re presenting on a projector. A lot of times you lose a lot of that contrast between lights and darks. And so it can be even harder to read some of this text when you’re presenting it in the classroom versus what it looks like on your computer screen when you’re making it. So instead, don’t be afraid to use bright colors, bright text, use catchy fonts, and really aim to have some really big contrast on your slides. The other thing you can do, of course is use a consistent color scheme. If you go back and look at the earlier slides, I had some other color highlights and these are the two colors that I used. So I’m trying to keep a very consistent color scheme across my slides even as I shift between light backgrounds and dark backgrounds. I am using a whole bunch of different fonts here just to get the point across in general, you probably want to pick a header font and a text font and stick with that.

A lot of the rest of the comments we left was all about the presentation process itself. One of the things we really noticed is there a lot of students that have felt like made the slides right before class and then would come to class and just read them aloud and winging it instead of actually practicing their presentation. One of the big crutches that you’ll have a lot of times is actually reading directly from your slides instead of thinking about what you’re going to say, and presenting that content to the audience. And because of that, you tend to get a little nervous or a little stressed out. And so the audience can seem very scary when you don’t practice. The other thing we noticed students would do is they would think about what they’re going to say only when they’re up actually presenting their presentation. And so like, they would talk about it, and then they would think about it for a little bit more and say, things that were really hard to follow. And they would always end in a question mark. And so you don’t want to do that you really want to practice your presentation, so that it flows really nicely, and you feel confident, and we understand exactly what you’re trying to say.

So to really make a confident presentation, the biggest thing you can do is practice, practice, practice, put your slides up on your monitor, stand up, walk around, just like you would do with a presentation and talk your way through it. As you talk through your presentation, your brain will start to remember the things you want to say. And it will also work on the segues. between slides. One of the best and easiest ways to tell if somebody’s practice or presentation is if they can talk as their slide changes, because they already know what’s coming next. And they’ve already practiced that segue from one slide into the next. That’s how you can really tell you got a confident presenter that has practiced and presented their content multiple times, so they can flow right through it as they change the slides. The second thing you can work on is eye contact. I know especially those podiums, it is really really tempting to look off to the side and look at your presentation slides. But you really want to focus on looking forward, especially in the room that we’re presenting in where you’ve got the dual monitors right in front of you, you have your slides right here, you can have your slide notes right here. And so if you position yourself in the right place, you should be able to see straightforward into those slides without having to look at the presentation behind you, I guarantee it’s not going anywhere, so you don’t have to look at it. Another big thing you can focus on again, is not reading the content of your slides. Ideally, your slide should have bullet points with just two or three words on it that are emphasizing the points that you’re making verbally. And they aren’t the entire content of the point that you’re trying to make. So again, try not to read your slides aloud, but focus on presenting the content and using the slides as a backup. And then of course, the last thing I recommend is, as you’re presenting make sure you’re avoiding words like and like and say, and all of those other filler words that we pick up in our speech. Again, this is a very, very difficult thing to do. And it takes a lot of practice and a lot of experience. To get around that. With a little bit of focus, what you can do is you can actually record yourself giving your presentation and then listen back to your presentation and see what it sounds like as you talk. That’s usually one of the easiest ways to tell if you’re doing this and helps you actually fix that problem.

Finally, most presentations were then on the last slide that simply says questions. I feel like there’s an opportunity here to really improve this slide by simply adding a little bit more design, and also adding a summary of your key points or the takeaways that you want for your presentation. A lot of times when students are trying to think of questions to ask you, it really helps to quickly summarize what your project is, what points you had, what structure you had anything that you can give, maybe even just another quick picture of your GUI outline something to help remind them of what you were talking about. This gives you that last slide. But usually this slide stays up on the screen longer than any other single slide. And so summarizing your key points and really giving this takeaway or some memorable graphic or quote, that can really help sell the point at the end of your presentation. So don’t be afraid to take advantage of even this space to get your presentation point across. Again, you’ve only got eight minutes to present. So you have to be really efficient about your slides really efficient about your talking and make sure that you’re getting it across.

In fact, as I’m recording this video right now, I noticed that the raw cut is about 10 minutes, it will probably get cut down to about eight minutes right there. So that gives you a really good idea of how long it takes to present just a little bit of content. I hope this was very helpful for you. I will post this video hopefully shortly. So hopefully you’re watching this before you give your second presentation. If you have any questions or comments, let me know. I’m happy to work with you to give you some more presentation tips. I also recommend working with your advisors, they can be a great first draft of your presentation. They may even be willing to sit and listen to a earlier rough cut of your presentation to give you feedback on things that you can do to improve before you present it in the class. Best of luck and I look forward to seeing your second presentation starting next week.

Projects & Time Tracking

This is a video exploring GitHub Projects & Clockify Time Tracking for Spring 2023

YouTube Video

Edited Transcript

Hello, in this video, I’m going to talk through a bit of the process of doing time tracking in CIS 598, as well as doing some project management using GitHub, through the GitHub projects interface. First and foremost, what I’ve pulled up is Clockify, I’ve invited everybody in the class to Clockify this semester for our time tracking. Clockify is a free application that you can use to keep track of what you’re working on. And I think it has some really useful features that will make this class go a lot faster. So when you first log in to Clockify you’ll be able to select both the timesheet and the time tracker. The timesheet is pretty simple. It’s a traditional timesheet where you list all your projects, and then list how much time that you spent on those. If you want to do that, that’s fine.

However, I really recommend that you use their time tracker, in the time tracker, you can say exactly what you’re working on. So I can say I’m working on CIS 598. And I can put just about anything here, I’m going to say that I am recording a video, I’m going to select a project, I’m going to put a task, I’m going to say this is for learning. So I’m going to choose that project, choose that task and hit start. And now Clockify is tracking my time. So as I record this video, you’ll see that time probably jumped around because I’m going to have to make edits later.

So what I have done is I have populated this with a single project called CIS 598 Spring 23. And then I’ve added a few tasks. My goal for this semester is to limit it just to this project in these tasks, we’ll see how that actually works. In practice, I may change this in future semesters. Basically the tasks, we have development, which is where most of your time is going to go, we’ll have some tasks for creating your final presentation and final artifacts for creating the initial artifacts, which is mostly what you’re doing this week, we have a time specifically spent on learning. So if you’re doing any playing around with tutorials, reading documentation, things like that, you’ll probably want to do learning, we have time for preparing presentations one and two. And then we have some time for testing your project. I’m going to try and keep it to these few tasks. If you have a really good idea for a task that we should be tracking, let me know I can add those into this list. But for the most part, we’re going to stick with just these tasks for now. Hopefully everything works like I’ve configured it. But if you have any trouble accessing either the projects or the tasks, let me know. And I can work on that.

So we see here that it’s still tracking my time. And the nice thing about Clockify is it includes a few other features that are really useful that you might want to check out. First and foremost, it has a browser extension for just about any browser. And you’ll notice that the browser extension is synced with the website. And so if I start tracking something on the website, the browser extension, also notice that I’m tracking that and so you can control them both places. There are also desktop applications that you can get for Clockify. And so once again, they’re pretty much kept in sync. So if you start something somewhere, you can then access it somewhere else.

The other thing that you can do with Clockify that I will briefly show you is you can actually go in and install the Clockify extension in Visual Studio code. So if I search for the Clockify extension, I can install it in my Visual Studio code. And then once I’ve installed it, I can click over here on this Clockify Explorer, and it will show me all the information, the only thing you need to do to get this to work is to get an API key, and then input it into the extension. To do that, and clarify, if I go back over here to my Clockify, I can go to my profile settings. And then if I scroll down toward the bottom, I can see this API key, which is the one I’m using, don’t worry, I’m going to regenerate that after I record this video. But this API key you can put into Visual Studio code so that you can track your information here. The tricky thing about this is the only way to start tracking time that I’m aware of is to actually go to the command palette, which is Ctrl+Shift+P and then you choose Clockify: Start Tracking. And then it will have you go through the process of choosing your workspace, a project, whatever task you’re working on. So if I’m working on learning, and then I can say, testing VS code, part two, and then I can choose either billable or non billable, it doesn’t really matter. I can enter any tags by once. And then it will say tracking started. And so then in Visual Studio code, I can start tracking right there. And you’ll see that it keeps track of those time entries and projects and everything here. Unfortunately, I don’t know of a way to go through this explorer and actually start tracking via this. I think it’s something they’re working on adding to this extension, maybe but it’s not there right now. So that’s one option if you use Visual Studio code to track your time. I’ll also show one more through GitLab or GitHub here in just a second.

The other thing that I have done is I’ve had you all sign up for GitHub classroom, which will get you all a GitHub repository. That is under the ksu-cs-projects-2022-2023 organization, and then it should be spring2023-yourID. I’m using a test account here so it’s dash russfeld-student I’m actually just going to be dash your GitHub ID not your eID. And so this is where you’re going to be storing your code throughout the semester. Hopefully, you’ve got some experience with GitHub by this point. If you have any questions about using Git or GitHub, let me know.

There are a couple of things that we want to use on GitHub to keep track of things. First and foremost is the Issues tab on GitHub, I really encourage you to keep track of not just your to do list. So any entries on your feature lists for the MVP, 1.0, and 2.0 should probably be entered here as issues. But I also encourage you to use this to keep track of your to dues, your bugs, anything that you’re working on, this becomes a really great place to keep track of the to dues that you have in this project. The other thing you can do is click this button over here to switch to milestones. And so you can create milestones a couple of different ways. One way that I like to do milestones is based on my sprints. And so in this class, we’ll have Sprint’s that end on the odd week, so we’ll have a sprint for week three, week five, week seven, and so on. So you can create those as milestones. Those give you those nice two week Sprint’s that you can show to your advisors and keep track of what you’re doing. You could also use the milestones for MVP, 1.0 and 2.0. And break it out that way, you’d have a little bit longer amount of time to work on those. But that may make a little bit more sense to you, depending on how you’re organizing your project.

So what I encourage you to do first is to go through and create issues and then also create milestones for everything. And if you want, as you’re creating your issues, you can add them to the milestones, but I’ll show you this projects interface, that’s actually where we want you to keep track of stuff. And it makes a lot of this really easy. The one reason I really like putting things in issues, if you have the Clockify browser extension installed, it will add some information right up here at the top of an issue so that you can start the timer. So if I’m going to start working on test issue 123, I can click Start Timer, and it will start the time. And so once again, I choose my projects. Here, I can choose the task. So I’m doing project development, I can add any tags I want. But as soon as I hit Done, clock, if I will start tracking that. And of course, if I check the Clockify app, I’m now working on test issue 123. And it’s been tracking for 20 seconds now. So it’s a really cool way to keep track of what you’re doing. But now the timer started on that. So that’s one thing that you can do.

The other thing I have done is I have gone in and I’ve added a project for everybody, the project is based on your eID, that was the easiest way for me to generate those actually had to write a bit of code to automatically generate these. And then I’ve added you to the project, what you’ll probably have to do is link your project to your to your repository. If it’s not there already, I went through and linked most everybody’s last night. So if it doesn’t show up, let me know. And I can help you do that. But I’m going to look at this project, I recommend opening in a new tab just so it’s easy to keep track of. And so I’ve got this project open up here. By default, this project will probably use the table view which looks something like this, I prefer the board view. So I can choose that view. And then I may have to go down here, when I change the view, I may have to click save changes so that it stays that way. But in the board view, again, you can create these boards, this is a standard Kanban or Trello, or whatever you’re used to board. And so you can add issues here by just typing in items. Or what you can do is hit this plus button and add items from your repository. So if I find my rust felled students repository, I can choose that repository, it will show me the items that I have that aren’t on this list. So I can just check mark on my items, hit Add Selected. And now it’s going to add all of these items to this project board. So now I’ve got my issues right here in my project board, they’ll come in on the to do, I can move them over to either in progress or done.

And again, if you want, you can rename these to say I’m going to do this week three, I’m going to do this week, five, etc. And so I can reorganize things pretty quickly. I can also click on these to go into the issue itself and do things such as add milestones. So I can add things to the week three or the week five milestone, but you’ll notice that the boards set the status. And so what I’m really recommending that you do is use the milestones to keep track of what sprint you’re on, and use the board to keep track of the status. And so if I go back to where I had these, I can say this is in progress. And then this is done. Then whenever I look at the issue, I can see that it’s in week three, it is an in progress issue, and you’ll be able to track it right here. You can add comments to it to keep track of things, you can close the issue here, you can also close it through your GitHub commits. If you haven’t looked that up, there’s a really neat way that you can type in your commit message, something like closing number one, and it will close that issue for you. When you make that commit. It’s really cool. So there’s lots of things that you can do here, but this is kind of what I recommend. So again, the best way to keep track of this is to go through and add your To Do lists as is.

So hopefully, that covers most of the information that you’re going to need about using Clockify in this class, as well as using GitHub trackers, and using the projects in GitHub. It’s a new system that we’re trying to share. But the goal is to try and keep this so that we can easily see what you’re working on. And it also is supposed to make it easier so that at the end of the semester, you don’t have to make up your time schedule. You’ve been keeping it right here in Clockify. You’ve been keeping track of your project in GitHub projects, so your advisor can always pull it up and look at it. Hopefully this works out really well. But it is something new. So if you have any questions, concerns or anything that you think we can do better with this project process, please feel free to let us know. Otherwise, let me know if you have any questions and I will see you all in class very soon.