Public application template
This part is answered in public on your user page. Please copy its source (edit tab) and then fill. Delete any examples and annotations (this markup) afterwards. Same for questions that do not apply to your situation.
A: An introduction
- Please describe yourself in three sentences, one of them regarding your current studies. I'm a 21-year-old undergraduate. I live in Egypt. I study computer engineering.
- Which languages do you speak? English & Arabic
- What's your overall background? I'm currently studying computer engineering at Alexandria University.
- Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so? I hope to gain hands-on experience working on a project that interests me.
- Please also describe your previous experience with the GSoC, if any. there isn't any, this is the first time I'm applying to GSoC
- Why are you choosing Octave? because mathematics and algorithms are the things I enjoy and am passionate about the most in coding.
- Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave. underratedworm
- Which time zone do you live in? Will that change over GSoC duration? UTC+2, no
- Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers? I would mostly code starting from 9:00 and keep going until 15:00 and then have another session by 21:00 to 24:00 (00:00) but any other timeframes would work fine for me
E: Coding experience
This part is one of the more important ones in your application. You are allowed to be as verbose as you want, as long as you stay on topic ;-)
- Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt. I do almost all of my competitive programming problems in C++, and I'm confident using about using it in solving any problem or implementing any algorithm.
I only used Octave/Matlab for college projects and labs, but I'm fairly familiar with its syntax, but not an expert. I never used OpenGl nor Qt.
- Please describe your experience with other programming languages. I used java a lot and have a couple of college projects to show for it. I used python in machine learning and AI, and I have a couple of ready projects to show for it too
- Please describe your experience with being in a development team. this is my first time, and I hope to this would be a great start to more and more
- Please describe the biggest project you have written code for and what you learned by doing so. Also, describe your role in that project over time. making a complete graphical version of the game (risk) with 4 different AI players playing using 4 different search methods
- Please state the commits and patches you already contributed to Octave. I didn't do any ( yet ;) )
F: Feeling fine
- Please describe (in short) your experience with the following tools:
- IRC and mailing lists no experience just added my name to the mailing list and joined the IRC chat today
- Mercurial or other source code management systems no experience, just about to learn it now, will edit this as soon as I do
- Mediawiki or other wiki software no experience, just about to learn it now, will edit this as soon as I do
- make, gcc, gdb or other development tools extremely minimal experience :(
- What will make you actively stay in our community after this GSoC is over? the geekiness of the community
O: Only out of interest
- Did you ever hear about Octave before? yes
- If so, when and where? How far have you been involved already? I knew about octave from college, I used to hate it (ehem), and now I absolutely love it
- If not, where would you expect or advise us to do advertising? in google matlab search page :p
- What was the first question concerning Octave you could not find an answer to rather quickly? does it use the same libraries as matlab, or is it standalone
- Please state the operating system you work with. windows & Linux
- Please estimate an average time per day you will be able to access
- an internet connection all day everyday
- a computer no less than 16 hours a day
- a computer with your progressing work on I generally have my work synced to google drive while working on it and make checkpoints on GitHub every now and then, so any computer is a computer with my work on it
- Please describe the degree to which you can install new software on computers you have access to. any computer I have access to will either be my personal computer, or a friend's or a family member's, so I'll have the freedom to install software on it
- Please describe how useful criticism looks from your point of view as committing student. incredibly useful and necessary for improvement
- How autonomous are you when developing:
- Do you like to discuss changes intensively and not start coding until you know what you want to do? yes ! what's the point of starting working on something that can't be done because you didn't plan ahead
- Do you like to code a proof of concept to 'see how it turns out', modifying that and taking the risk of having work thrown away if it doesn't match what the project or original proponent had in mind? yes, I always like to keep a testing script or code cell or a small project to try on every indivdual add-on to the code before writing it to the original code
Y: Your task
- Did you select a task from our list of proposals and ideas? yes
- If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information. Improve logm, sqrtm, funm, I didn't make a proposal yet, I'll edit this when I do
- Please provide a rough estimated timeline for your work on the task.
May 6 - 27 (student projects announcement): I'll use this time to read more and more about the mathematics and approximation methods available and read get my hands on papers to read. May 27 to June 24 ( before First Evaluation ) I believe that by this time I would have finished both logm & sqrtm. June 28 to July 22 ( before 2nd evaluation ) I'll reserve this time to work on funm, I expect it won't take that long. but I'm leaving room for myself. any remaining time will be used to improve more on what I reached and to make sure everything is properly working and to double check everything, if everything works, then I'll use this time for personal projects.