scooper | good morning Jeff | 13:25 |
---|---|---|
tmickelson | hello scooper | 13:26 |
scooper | Good morning tmickelson | 13:26 |
jelkner | Good day, scooper | 13:27 |
jelkner | No fkoiko today? | 13:27 |
scooper | I m sorry I forgot to informed you this gone saturday | 13:27 |
scooper | today is holiday in liberia | 13:28 |
jelkner | oh, np | 13:28 |
jelkner | let's meet tomorrow then | 13:28 |
jelkner | you should enjoy your holiday, my friend! | 13:28 |
scooper | No work at MCSS office | 13:28 |
scooper | But I m here today to learn from tmickelson | 13:29 |
jelkner | scooper, is today a good day to help you with Java? | 13:29 |
jelkner | we could chat at 2 pm, after tmickelson leaves | 13:29 |
jelkner | i have a planning period today at that time | 13:29 |
scooper | By to 2pm Sahnun will be online with us, have you forget | 13:30 |
jelkner | perfect | 13:30 |
jelkner | yes, i did forget | 13:31 |
scooper | Jeff | 13:31 |
jelkner | Spencer | 13:31 |
scooper | please inform Aaron about the mcss domain expiration day | 13:31 |
scooper | *date | 13:31 |
scooper | tmickelson is there any lesson today???? | 13:32 |
jelkner | scooper, thehedgeh0g is here, and i just told them | 13:32 |
scooper | Thanks | 13:32 |
tmickelson | scooper, were you able to get other people to fork the repo and merge changes back into main | 13:33 |
jelkner | ok, scooper, this will be a process | 13:33 |
jelkner | here's what we need to do: | 13:34 |
jelkner | 1. You need to create an MCSS account on Namecheap | 13:34 |
jelkner | 2. I need to transfer ownership of the mcssliberia.org domaing from NOVA Web Development to you. | 13:34 |
jelkner | 3. You need to give thehedgeh0g, tmickelson, and me access to that new account as admins | 13:35 |
scooper | yes tmickeson everyone fork the repos and push to their own branch this gone saturday.... | 13:35 |
tmickelson | do you know how branching works | 13:36 |
jelkner | https://www.namecheap.com/ | 13:36 |
scooper | yes but let me explain what I did with them.... on branch | 13:37 |
scooper | first I told everyone to click on the link I posted in the hexchat | 13:38 |
scooper | click on fork and copy the URLs of that repos | 13:38 |
scooper | clone the reposi on their computer after creating a directory on their computer where that urls will be cloned... | 13:39 |
scooper | Next I told everyone to type the command "git checkout -b "new of the branch they which to name it" | 13:40 |
scooper | After typing in that command, I told them to type "git branch" to see after the branch naming work | 13:41 |
scooper | I you following? tmickelson | 13:41 |
scooper | are | 13:41 |
tmickelson | yes | 13:42 |
scooper | Now I told everyone to create a file or folder which will only be in the branch that was created.... | 13:43 |
scooper | after that I told them to type "git add .", git commit -m and lastly git push" | 13:44 |
scooper | Note if it your first time pushing to the remote repository you will encounter "upstream" | 13:44 |
scooper | And the command line will provide an instruction for you to following which will include your user and and password | 13:46 |
scooper | after doing so, I need to add make sure I add everyone as a collaborator push what they are pushing can be found in their own of branch | 13:47 |
tmickelson | do you know how git tagging works | 13:47 |
scooper | no | 13:48 |
scooper | just hearing of it??? | 13:48 |
scooper | tmickelson are those steps in placed?? | 13:48 |
tmickelson | the steps for forking | 13:48 |
tmickelson | *? | 13:48 |
scooper | I m mean after forking | 13:49 |
scooper | pushing back to the repos | 13:49 |
tmickelson | yes | 13:50 |
tmickelson | do you want to know how git tags work | 13:51 |
scooper | Yes | 13:51 |
scooper | that why I m here to learn alot from you | 13:51 |
tmickelson | tagging can be used to track versions | 13:54 |
tmickelson | running `git tag` will display a list of tags | 13:55 |
tmickelson | * tagged commits | 13:55 |
scooper | you mean running it in my terminal??? | 13:56 |
tmickelson | yes | 13:56 |
tmickelson | to tag the current commit, use `git tag -a <version>` | 13:57 |
tmickelson | where verion would be something like v1.0.3_1 | 13:57 |
tmickelson | you can also add a message using `git tag -m <message>` | 13:59 |
scooper | I just type the "git tag" in my directory these are the information I got | 13:59 |
scooper | -a, --annotate , sysadmin@learningToDeploy:~/Desktop/ForkwithTmickelson$ git tag | 14:00 |
shmohamud | hi scooper | 14:01 |
scooper | Good morning shomhamud | 14:01 |
scooper | how are you doing | 14:01 |
jelkner | shmohamud, how's your Java? | 14:01 |
shmohamud | good how are you? | 14:01 |
jelkner | scooper has a class at UoPeople, and could use help with Java homework | 14:02 |
shmohamud | I can read Java | 14:02 |
*** tmickelson has quit (Quit: leaving) | 14:02 | |
shmohamud | I can help! | 14:02 |
shmohamud | can you email me the assignment Scooper? | 14:03 |
scooper | yes I will shmohamud | 14:03 |
shmohamud | sounds good :) | 14:03 |
*** tmickelson_ has quit (None) | 14:06 | |
jelkner | scooper, send it to me too. | 14:07 |
scooper | OK Jeff I will any movement from now | 14:07 |
jelkner | scooper, shmohamud, we should get in the habit of using our git repo server to collaborate on things like this | 14:07 |
jelkner | scooper, what text are you using? | 14:08 |
shmohamud | that's a great idea | 14:08 |
scooper | You the Java Book??? | 14:08 |
shmohamud | practicing Version Control and streamlining communication | 14:08 |
jelkner | +1 | 14:08 |
jelkner | all UoPeople books are OER | 14:08 |
scooper | Introduction to Java Programming | 14:08 |
jelkner | https://beginnersbook.com/2013/05/java-introduction/ | 14:09 |
jelkner | is it that one? | 14:09 |
scooper | Sorry "Introduction to Programming Using Java" by David J Eck | 14:10 |
scooper | file:///home/sysadmin/Desktop/Extra-Activities/javanotes8-linked.pdf | 14:10 |
jelkner | or https://math.hws.edu/javanotes/#:~:text=Downloading%20And%20Other%20Links | 14:11 |
jelkner | your link won't work, scooper | 14:11 |
shmohamud | found it | 14:11 |
shmohamud | https://my.uopeople.edu/pluginfile.php/57436/mod_book/chapter/37613/javanotes8-linked.pdf | 14:12 |
jelkner | it is on your local system | 14:12 |
jelkner | https://math.hws.edu/eck/cs124/downloads/javanotes9-linked.pdf | 14:12 |
jelkner | the one i just posted will work | 14:12 |
jelkner | scooper, this is a "teachable moment" | 14:12 |
shmohamud | +1 Jelkner. Important to notice that our directories wouldn't have it since we haven't downloaded or saved it yet | 14:12 |
scooper | +1 shmohamud got it | 14:12 |
jelkner | when you see a url that starts with "file:///" that is the file protocol | 14:12 |
jelkner | it means its on your local machine | 14:13 |
jelkner | you can't give that someones else | 14:13 |
shmohamud | +1 | 14:13 |
jelkner | since it isn't publicly accessible | 14:13 |
jelkner | ok, since shmohamud has this one now, i'm going to grade a quiz i just gave | 14:15 |
shmohamud | +1 | 14:15 |
jelkner | scooper, see you tomorrow at 1:30 pm your time. | 14:15 |
jelkner | and thank you, shmohamud! | 14:15 |
scooper | OK Jeff | 14:15 |
jelkner | ACTION signs off for the day... | 14:15 |
*** jelkner has quit (Quit: Leaving) | 14:15 | |
shmohamud | Have you emailed the assignment Scooper? | 14:15 |
scooper | Yes | 14:17 |
scooper | I just did but will like to try from now to tomorrow if I can't make it I will send you a mail asking for your assistant | 14:17 |
shmohamud | Got it | 14:18 |
shmohamud | Consider the following Java program. Describe what it does in response to specific operations of the mouse, and how it does it. (You are encouraged to run the program for yourself to test its behavior. Then read through the program carefully to understand how that behavior arises.) | 14:18 |
shmohamud | import java.awt.event.*; | 14:18 |
shmohamud | import javax.swing.*; | 14:18 |
shmohamud | public class MouseWhisperer extends JFrame implements MouseListener { | 14:18 |
shmohamud | MouseWhisperer() { | 14:18 |
shmohamud | super("COME CLOSER"); | 14:18 |
shmohamud | setSize(300,100); | 14:18 |
shmohamud | setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | 14:18 |
shmohamud | addMouseListener(this); | 14:18 |
shmohamud | setVisible(true); | 14:18 |
shmohamud | } | 14:18 |
shmohamud | public void mouseClicked(MouseEvent e) { setTitle("OUCH"); } | 14:18 |
shmohamud | public void mousePressed(MouseEvent e) { setTitle("LET GO"); } | 14:18 |
shmohamud | public void mouseReleased(MouseEvent e) { setTitle("WHEW"); } | 14:18 |
shmohamud | public void mouseEntered(MouseEvent e) { setTitle("I SEE YOU"); } | 14:18 |
shmohamud | public void mouseExited(MouseEvent e) { setTitle("COME CLOSER"); } | 14:18 |
shmohamud | public static void main(String[] args) { new MouseWhisperer(); } | 14:18 |
shmohamud | } | 14:18 |
shmohamud | Your Discussion should be at least 250 words in length, but not more than 750 words. Once you’ve completed your initial post, be sure to respond to the posts of at least 3 of your classmates. | 14:18 |
scooper | yes that it's | 14:19 |
shmohamud | If you look at the first line | 14:19 |
shmohamud | You notice it's a class called MouseWhisperer which extends Jframe and implements MouseListener | 14:19 |
shmohamud | Do you know the difference between extending a class and implementing a class in Java? | 14:20 |
scooper | extending mean inheritance in java right | 14:20 |
shmohamud | both are keywords, and both are associated with inheritance | 14:21 |
shmohamud | Extends means that the class which is being defined is derived from the base class using inheritance. Basically, used to extend the functionality of the parent class to the subclass. | 14:23 |
shmohamud | Implements keyword means to implement an interface. An interface is a *special* type of class which only contains abstract methods | 14:24 |
shmohamud | So, in the first line we should understand that all the abstract methods from MouseListener are being implemented and all the functionality of JFrame are being inherited by this class MouseWhisperer | 14:25 |
shmohamud | Does this make sense so far? | 14:25 |
scooper | yes | 14:26 |
scooper | can I ask a question | 14:27 |
shmohamud | Yes | 14:27 |
scooper | MouseWhisperer is consider to be a parent class right? that is inherating from Jframe which is a subclass is that what you mean??? | 14:28 |
shmohamud | MouseWhisperer is the subcass/child class *because* it's extending and implementing other classes | 14:29 |
shmohamud | Does that make sense? | 14:29 |
scooper | got you now | 14:29 |
shmohamud | Cool. Whenever you're defining a new class it is the subclass since it's taking the functionality of the classes it's extending and implementing. | 14:30 |
shmohamud | And that's the basic thing we're doing here, we're *defining* a new class, MouseWhisperer. | 14:30 |
shmohamud | Shall we move to the next line? | 14:31 |
scooper | yes | 14:31 |
shmohamud | Let's google real quick what defining a class in Java is syntactically. Syntax is VERY important, the structure of the code tells you how to interpret the code. | 14:32 |
scooper | A class in java is a blue print | 14:32 |
shmohamud | As you can see here, the second line also says MouseWhisperer, so I'm wondering, why is it named the same as the class? This is unusual practice in the language syntax I'm used to | 14:32 |
scooper | you mean the second line??? | 14:33 |
shmohamud | That's a good way to think about a class! It's the same in most languages | 14:33 |
shmohamud | Yes, the second line: MouseWhisperer(){ | 14:33 |
shmohamud | Why is it the same name as the class? | 14:33 |
scooper | OK I this is a method in java | 14:34 |
shmohamud | It's certainly a *constructor* function because I notice the keyword *super* is used inside of it. But, | 14:34 |
shmohamud | Yes, it's a method, that's a good way to put it, but how come the method is named the same as the class? | 14:34 |
shmohamud | Is that normal to do in Java? | 14:35 |
shmohamud | // Create a Main class | 14:36 |
shmohamud | public class Main { | 14:36 |
shmohamud | int x; // Create a class attribute | 14:36 |
shmohamud | // Create a class constructor for the Main class | 14:36 |
shmohamud | public Main() { | 14:36 |
shmohamud | x = 5; // Set the initial value for the class attribute x | 14:36 |
shmohamud | } | 14:36 |
shmohamud | public static void main(String[] args) { | 14:36 |
shmohamud | Main myObj = new Main(); // Create an object of class Main (This will call the constructor) | 14:36 |
shmohamud | System.out.println(myObj.x); // Print the value of x | 14:36 |
shmohamud | } | 14:36 |
shmohamud | } | 14:36 |
shmohamud | // Outputs 5 | 14:36 |
shmohamud | This is an example i found from a reputable website. It looks like it's normal practice to name the constructor as the class! | 14:36 |
scooper | according to this search | 14:36 |
scooper | es, It is allowed to define a method with the same name as that of a class. There is no compile-time or runtime error will occur. But this is not recommended as per coding standards in Java. Normally the constructor name and class name always the same in Java | 14:36 |
shmohamud | That makes sense, based on what I've just pasted it follows that practice. Sometimes the compiler won't throw an error, but it makes the code less readable to other developers if you don't follow the practices | 14:37 |
shmohamud | So, what's the second line, MouseWhisperer(){ doing in your own words? | 14:38 |
scooper | I m on what to say here | 14:38 |
scooper | No I m lost on what to say here concerning what the second line is doing | 14:39 |
shmohamud | Do you know what a constructor is in a class? | 14:40 |
shmohamud | That's totally understandable, this is complex stuff! | 14:40 |
shmohamud | For later: https://docs.oracle.com/javase/tutorial/uiswing/components/frame.html | 14:41 |
shmohamud | For later: https://docs.oracle.com/javase/8/docs/api/java/awt/event/MouseListener.html | 14:42 |
scooper | Ok thanks I will follow it later when we are done | 14:42 |
shmohamud | Those are the classes that are being inherited and extended in the homework example. Do you want me to help explain the second line now? | 14:42 |
scooper | you mean "public void mouseCLicked??? | 14:43 |
shmohamud | That's a class method. I'm talking about MouseWhisperer() { | 14:44 |
shmohamud | For later: https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html | 14:45 |
shmohamud | All of the lines that start with "public void" are implementations of abstract methods that are coming from the MouseListener class (that we're implementing). Does this make sense for what the remaining code is doing? | 14:46 |
scooper | gradually | 14:47 |
scooper | but it will take me few time to go through then..... | 14:48 |
scooper | From my understanding is that anytime I see "public void being defined it indicate that it's a method that can be access anywhere in the program | 14:49 |
shmohamud | The third link is about abstract classes in Java. Understanding an abstract methods is not easy, but you can do it! Think about it like defining a method but leaving out certain details about how to implement it so that any subclass can implement the details themself. In this case, MouseListener is the interface with abstract methods that it has given to the subclass we define, MouseWhisperer | 14:50 |
shmohamud | You're correct, public void defines a public method in Java. But it goes a step deeper when we're inheriting from parent classes/interfaces. | 14:51 |
shmohamud | Sometimes, we can inherit what're called abstract methods, and those methods have the details implemented in the subclass. For example, the MouseListener interface defines the mouseClicked abstract method and we implement it in the MouseWhisperer class. | 14:52 |
shmohamud | Based on your understanding now, how would you answer the homework question of describing the code in 250 words or less? | 14:53 |
scooper | I will share with you later after I have analysis all those instruction you give before submitting.. hope that sound good | 14:55 |
shmohamud | 1.) We're defining a class called MouseWhisperer. It extends and implements JFrame and MouseListener. It has a constructor that gives it access to parent classes and sets the size, defaultCloseOperation, adds a Mouse Listener and sets visible to true. Then, it implements several abstract methods that occur when the mouse is clicked, pressed, released, entered and exited, which are all mouse events.Each even | 14:58 |
shmohamud | t results in a different title being set in the JFrame, starting with "OUCH" and ending with "COME CLOSER." Finally it creates an instance of the MouseWhisperer class we define. | 14:58 |
shmohamud | That's my abbreviated version, but I recommend looking at those links and understanding abstract classes, JFrame and MouseListener before answering the question. Also would be useful to maybe check out https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/event/package-summary.html | 15:00 |
shmohamud | Also javax.swing: https://docs.oracle.com/javase/8/docs/api/javax/swing/package-summary.html | 15:01 |
shmohamud | I know this a lot, weeks worth of knowledge, so don't rush. I want to introduce you to the complexity involved, not overwhelm you. Are we good for today or do you have any more questions? | 15:01 |
scooper | Thanks shmohamud I need to follow those link you posted for additional understanding toward this topic... | 15:03 |
shmohamud | You're welcome. Has this session been useful? | 15:03 |
scooper | Very useful | 15:03 |
shmohamud | I'm glad to hear it :) Keep up the good work. Shall we meet Wednesday? | 15:04 |
scooper | What is our schedule here for javascript | 15:04 |
shmohamud | I can meet most days, when are you free? | 15:04 |
scooper | is it Monday to Friday or Monday Wednesday and Friday | 15:05 |
shmohamud | I can meet everyday if you can meet everyday - I'll put in at least as much effort as you do. | 15:05 |
scooper | I m available at your convenience time | 15:05 |
shmohamud | You email me and I'll reach out ASAP. So, when's the next good time for you? | 15:06 |
shmohamud | Tomorrow same time? | 15:06 |
scooper | I m here everyday monday to saturday | 15:06 |
shmohamud | Ok, so how's tomorrow same time? | 15:06 |
scooper | Yes | 15:06 |
shmohamud | Sounds good scooper :) any more questions before I log off? | 15:07 |
scooper | Nothing for now shmohamud... I appreciate the time...... | 15:08 |
shmohamud | Sounds good, have a great rest of your day :) You're welcome, it's my pleasure. | 15:08 |
scooper | Ok thanks | 15:08 |
*** shmohamud has quit (Remote host closed the connection) | 15:08 | |
*** scooper has quit (Quit: Leaving) | 15:08 | |
*** shmohamud has quit (Remote host closed the connection) | 16:26 | |
*** shmohamud has quit (Ping timeout: 480 seconds) | 18:35 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!