Pseudocode and my coding experience

I have finally finished the 3rd block of Viking Code School Prep Work. Software Engineering part was packed with lots of theories which was challenging to grasp without actually implementing it. The block has ended with an assignment to pseudocode pagination. I have pasted it below, so that’s why this post may look long.

About two days ago I started last the block at VCS – HTML, CSS and Ruby. Vikings recommended to go through Shaye Howe online free course and I’m a half way now at the moment. It’s just amazing, down to earth, mixed with numerous examples which so far didn’t leave any questions I had unanswered. It is still too early for me to get confidence with all properties of boxes like margins, padding along with display properties of different elements, floated or positioned relative or absolute etc…

This coding block I’m starting is exactly what I have been waiting for about a month now since I started Prep Work. However, to be precise, I waited for this moment for over six months.

In January I have finished my first semester at College. It was very intensive time while working full time. I got to a point to realized I was not enjoying Digital Media course. Nevertheless, this course helped me learn myself better through different projects. I like designing classes as I enjoyed creating 3D model of a car on 3DS Max or problem solving with simple coding on Game Designing class via Unity. Around that time also, I helped to rearrange friends’ website through Content Management Website – jimdo.com, which I enjoyed very much. In January, I also stumbled upon Free Code Camp and because we had winter holidays at college, I decided to take that time and work on challenges. I got to building “Random Quote Machine” which I sadly had to abandon due to overpowering college obligations. The second semester was intensive as well.

Why VCS? Although Free Code Camp, has a big community, goal-oriented roadmap… I felt during intermediate parts I was left on a desert to look for a key in sand. THat’s fine, but my time was limited. Building Website Portfolio Challange left me not knowing where to start or how while the instructions indicated not to look at other people’s code. All the lessons to that point didn’t equip me with the knowledge to build the website. I needed clearer roadmap where I could concentrate only on the essence of the craft rather than constant searching. Don’t get me wrong. I love FCC, and I am going to be back there at some stage. The idea, community, and challenges are very addictive. I got to building Random Quote Machine, which I sadly had to abandon due to overpowering college obligations. The second semester was intensive as well.

My experience with coding, however, goes back to primary school, I tried to learn to program during voluntary IT classes. We worked with Turbo Pascal. I just could not understand why x = x +1 made sense… why it’s not 0 = 1. I think this different logic of things and my teen stubbornness put me off from seeing anything nice in ti. Two years ago,  I got back to programming and got through Python online course via Edx platform at MIT which I really recommend. Since then, frequently I was either getting into frustration and giving up to come back few weeks – months later and try again or learn new stuff like Java Script or HTML and CSS. I had plenty of addictive and amazing moments when I found a solution to a problem or was making an invisible structure working the way I wanted. It made me come back in spite of so many failures.

This time, I want to focus on this discipline… on web development from start to finish and spend as much time as I can on building things through a code and learn as much. No turning back.

Below is the last project from VCS Engineering part. I hope it works, but as it’s pseudocode it’s impossible to do an automated testing…

Project: Turning a New Feature into Agile Stories and Pseudocode

PROGRAM DisplayPagination:
Display the “Previous” word or link
For EACH number in the list of pages DO
PROGRAM DisplayPreviousWordOrLink
PROGRAM DisplayNextPage
PROGRAM DisplayPreviousPage
PROGRAM DisplayElipsis
PROGRAM DisplayNext:
END
Display the “Next” word or link
END
PROGRAM DisplayPreviousWordOrLink:
IF the current page is the first page THEN
Print the word “Previous”
ELSE
Print the word “Previous” with a link to the previous page
END
END
PROGRAM DisplayNextPage
IF the current page number is less than total number of pages THEN
Display current page number
Display the next page number with link to the adequate page
ELSE IF the total number of pages is higher than 2 THEN
IF the current page number equals the first page THEN
Display current page number
Display the next two page numbers with links to the adequate pages
END
END
END
PROGRAM DisplayPreviousPage
IF the current page number is higher than 1 THEN
Display current page number
Display the previous page number with link to the adequate page
ELSE IF the total number of pages is higher than 2 THEN
IF the current page number equals the total number of pages THEN
Display current page number
Display the previous two page numbers with links to the adequate pages
END
END
END
PROGRAM DisplayElipsis
IF the total numebr of pages is higher than 5 THEN
IF the current page number is less than 3
Display Elipsis Symbol after current page + 1
ELSE IF the current page number is higher than total page numbers – 2 THEN
Display Elipsis Symbol before current page – 1
ELSE IF the current page number is between 4 and total number of pages – 4 THEN
Display Elipsis Symbol before current page – 1 and after current page +1
END
END
PROGRAM DisplayNext:
IF the current page is the last page THEN
Print the word “Nextt”
ELSE
Print the word “Next” with a link to the next page
END
END
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s