First off, you need to know where all the bodies in the solar system are as a function of time. I would start by getting the SPICE toolkit from JPL, supported in C, Fortran, IDL, and MATLAB. You will also need the planetary and lunar ephemerides and the latest leap-second kernel. (The planetary kernel linked is good from 1550 AD to 2650 AD, and the leap second kernel linked includes the leap second added a few weeks ago. The planetary kernel includes the Sun, Pluto, and Earth's moon. There is more recent kernel with an updated orbit for Pluto, but the available one only spans 1950 to 2050.)
Second, you need to be able to do patched conic trajectories for rapid evaluation of gravity assist trajectories. You simply assume that there is only the Sun when traversing between planets to get, say, the arrival $\vec{V}_{\infty}$ at the planet (subtracting the heliocentric velocity vector from the planet velocity vector), and then assume that there is only the planet to use a simple equation to convert that to a departure $\vec{V}_{\infty}$ leaving the planet, adding the heliocentric velocity of the planet back in to propagate from there. As part of this, you will be converting between orbital elements and position/velocity, and back for every flyby and every propulsive maneuver.
Then play. Look at where the planets are and try things. Keep looking at where they are as time progresses.
Try going backwards -- Venus is especially effective due to its high mass and depth in the Sun's gravity well (Oberth effect), even though you have to go the "wrong way" when you are trying to get to the outer solar system. (This was an "a ha!" moment for Roger Diehl of JPL who discovered this approach in trying to figure out how to get Galileo to Jupiter without a Shuttle-Centaur after Challenger blew up. Venus was then used twice by Cassini.) You may want to add propulsive maneuvers to get you back to planets. Cassini had to do a large deep-space maneuver to lower its perihelion so it could get back to Venus a second time. It is interesting that both of Cassini's big propulsive maneuvers on the way to Saturn (launch and the DSM) reduced its heliocentric energy, even though the objective was to significantly increase its heliocentric energy in order to reach Saturn.
Important note: after developing a trajectory, verify that the flybys are above the surface and atmosphere of the bodies.
This will be good enough to discover trajectories. Try rediscovering the Grand Tour of the late 1970's as a first exercise.
If you need to really fly one of these trajectories, then you need to:
Third, be able to accurately numerically integrate trajectories in the gravity fields of the Sun and all of the planets, and integrate the approach/flyby/departure accurately instead of using the patched conic approximation. Then you can verify that you really have what you thought you had, and know with some confidence the $C_3$, the $\Delta V$'s, and the times required.