Check out the PDF file linked below. Pay attention to the "Turns East" and "Turns West" columns at the left. Slack will be the half hour or so before these times. Slack isn't full high or low, it's the time when the tide height in Cape Cod Bay and Buzzards Bay equals out. Basically it's just gravity working. When the water is higher in CC Bay than Buzzard's you get a west running current. And vice-versa for an east. The greater the tide height difference the stronger the current. Yeah a simplification, and wind also affects it some but you get the general idea.
Also pay attention to the adjustment for which part of the canal you're at.
Tide 2012.pdf