IEEE


Join IEEEXtreme Coding Competition

Are you a university or college student looking for a challenge? Look no further than the IEEEXtreme international programming competition!

IEEEXtreme is a 24-hour, online, global coding competition that brings together students from all over the world to test their skills and knowledge against their peers. This competition is organized by the IEEE, the world’s largest technical professional organization for the advancement of technology.

Participating in IEEEXtreme provides a unique opportunity for students to showcase their skills and gain recognition in the global tech community. Not only that, but it also allows students to connect with their peers from around the world and learn from each other.

But the benefits of IEEEXtreme don’t stop there. Participating in the competition can also help students develop essential skills employers highly value. These skills include problem-solving, critical thinking, and the ability to work under pressure.

Another great thing about IEEEXtreme is that it’s open to students of all skill levels. Whether a beginner or an experienced coder, you can participate and challenge yourself to improve. And with a wide variety of categories to choose from, there’s something for everyone.

So if you’re a university or college student looking for a challenge and an opportunity to showcase your skills and connect with others in the tech community, then IEEEXtreme is the perfect competition for you. Sign up today and see how far you can go!

In summary, IEEEXtreme is a 24-hour, online, global coding competition which is organized by IEEE, it gives the opportunity for university and college students to showcase their skills, connect with peers from around the world, develop important skills that are highly valued by employers, and it’s open to students of all skill levels. It is a perfect competition for anyone looking for a challenge.


How NOT to solve the IEEE Day Badge Challenge

Recently, we were taking the IEEE Day Badge Challenge in https://ieee-collabratec.ieee.org/. We wanted to give another go on solving the clues, so instead of following the clues to open the encrypted and password-protected PDFs, we got the clue that the password is composed only of numeric digits and we used pdfcrack to open the files!

We installed pdfcrack using the following command:

sudo apt-get install pdfcrack;
$ sudo apt-get install pdfcrack
[sudo] password for bob: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  pdfcrack
0 upgraded, 1 newly installed, 0 to remove and 28 not upgraded.
Need to get 31,0 kB of archives.
After this operation, 90,1 kB of additional disk space will be used.
Get:1 http://cy.archive.ubuntu.com/ubuntu focal/universe amd64 pdfcrack amd64 0.18-2 [31,0 kB]
Fetched 31,0 kB in 1s (40,1 kB/s)
Selecting previously unselected package pdfcrack.
(Reading database ... 452721 files and directories currently installed.)
Preparing to unpack .../pdfcrack_0.18-2_amd64.deb ...
Unpacking pdfcrack (0.18-2) ...
Setting up pdfcrack (0.18-2) ...
Processing triggers for man-db (2.9.1-1) ...

To crack the files, we used the following commands that limited the input to the numeric digits and got the password back in seconds on a normal CPU:

pdfcrack -f IEEE+Day+2021+Clue++3.pdf -c 0123456789;
bob@Linux:~$ pdfcrack -f IEEE+Day+2021+Clue++3.pdf -c 0123456789
PDF version 1.7
Security Handler: Standard
V: 2
R: 3
P: -1060
Length: 128
Encrypted Metadata: True
FileID: 79c15a021438224ba4df58b0e7fa9a20
U: 4990feee0d63f411cf4eba3c1346ff2100000000000000000000000000000000
O: cc5e6a95577573cac6f6683d4c7f02d6605fe42e5622feb6dc36636263ba838e
found user-password: '490000'

bob@Linux:~$ pdfcrack -f IEEE+Day+2021+Clue++5.pdf -c 0123456789
PDF version 1.7
Security Handler: Standard
V: 2
R: 3
P: -1060
Length: 128
Encrypted Metadata: True
FileID: cf72bd9b3fb24145a6d2b578fa52c0e4
U: 8cd5ea45b59168ca10674bdd81f06f5800000000000000000000000000000000
O: 70301a6ff93ac7a91c28895180e8ad57a41388d2b7f3a813b83f4b3fd5274945
Average Speed: 49297.7 w/s. Current Word: '348478'
found user-password: '1470000'

Information on the version we used is below:

$ apt info pdfcrack
Package: pdfcrack
Version: 0.18-2
Priority: optional
Section: universe/utils
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Joao Eriberto Mota Filho <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 90,1 kB
Depends: libc6 (>= 2.14)
Suggests: pdf-viewer
Homepage: http://pdfcrack.sf.net
Download-Size: 31,0 kB
APT-Manual-Installed: yes
APT-Sources: http://cy.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
Description: PDF files password cracker
 PDFCrack is a simple tool for recovering passwords from pdf-documents.
 .
 It should be able to handle all pdfs that uses the standard security handler
 but the pdf-parsing routines are a bit of a quick hack so you might stumble
 across some pdfs where the parser needs to be fixed to handle.
 .
 The main PDFCrack features are:
 .
   - Supports the standard security handler (revision 2, 3 and 4) on all known
     PDF-versions.
   - Supports cracking both owner and userpasswords.
   - Both wordlists and bruteforcing the password are supported.
   - Simple permutations (currently only trying first character as Upper Case).
   - Save and load a running job.
   - Simple benchmarking.
   - Optimised search for owner-password when user-password is known.
 .
 This program can be used in forensics investigations or similar activities,
 to legal password crack.

IEEEXtreme 15.0 Call for Judges / Problem Authors

Are you fascinated by programming? We, the IEEEXtreme 15.0 Executive Committee, are opening the registrations for a select few judges and problem authors.

IEEEXtreme is a global challenge in which teams of IEEE student members compete in a 24-hour time span against each other to solve a set of programming problems authored by industry professionals and coding experts like yourself. Over the 15 years since it began, the competition has attracted over 70,000 competitors from over 2,500 schools in 90 countries around the world.

This is an opportunity where you can not only develop the coding challenges but also you can evaluate them while having the opportunity to associate with some of the top experts in the field. The judging staff of IEEEXtreme are all volunteers who strive to make the contest a fun and exciting experience for all.

Judges responsibilities may include one or more of the following:

Develop at least 1 original and innovative problem. You may see examples of the format of the IEEEXtreme problems here: https://csacademy.com/ieeextreme-practice/
Review and evaluate the problems proposed by another judge and provide feedback;
Provide independent solutions to other proposed problems using any of the competition programming languages;
Be online during the day of the competition for 1-2 hours based on their availability in order to address the contestants’ questions related to the authored challenge.

While not everyone who submits a nomination will be selected, we will carefully review all nominations and thank you in advance for your time to express your interest! We look forward to welcoming you aboard to the IEEEXtreme community!

Please apply using this form on or before 2021/09/19.

More delineations can be acquired from: [email protected]


Programming Course Series [01 – Introductory course to python]

Computer programming is important today because so much of our world is automated. Humans need to be able to control the interaction between people and machines. Since computers and machines are able to do things so efficiently and accurately, we use computer programming to harness that computing power.

This is the first of hopefully many programming courses that can introduce technically inclined people to Python programming.


  Date and Time

Location

Information on our VPN service (instructions for iOS devices) will be provided to the registrants that cannot join us along with instructions on our BigBlueButton platform.

Hosts

Registration


  Speakers

George Michael

Topic:

Everybody can write a computer program (An introduction using Python)


Agenda

Introduction to programming and reasons to write programs?

These are the course-wide materials as well as Introductions’ first section where we discuss what writing programs mean. In the third part of the class, we will finish the Introduction and have the quiz and first task.

Installing and Using Python

We’re going to set up stuff so that you can write Python programs.

Introduction to programming and reasons to write programs? (continued)

We try to cover the “big picture” of programming so that you get a “table of contents” from what to expect to learn. Don’t worry if, the first time you hear it, not everything makes perfect sense. This part is very broad.

Variables and Expressions

We will explain how a program uses the memory of the machine to store, retrieve and process information in this section.

Conditional Code

We will move from sequential code in this section that simply runs one line of code after another to conditional code where some steps are skipped. It is a very basic idea – but it is how “choices” are made by computer software.

Functions

We are going to learn about what functions are and how we can use them. Functions will be an essential way for us to make sense of our code, as we move into more and more complicated programs.

Loops and Iteration

Our four fundamental programming patterns are completed by loops and iteration. Loops are the way we say Python over and over to do something. Loops are the manner in which we create programs that remain with a problem until the problem is solved.